Win32Exception-Klasse
Löst eine Ausnahme für einen Win32-Fehlercode aus.
Namespace: System.ComponentModel
Assembly: System (in system.dll)
Syntax
'Declaration
<SerializableAttribute> _
Public Class Win32Exception
Inherits ExternalException
Implements ISerializable
'Usage
Dim instance As Win32Exception
[SerializableAttribute]
public class Win32Exception : ExternalException, ISerializable
[SerializableAttribute]
public ref class Win32Exception : public ExternalException, ISerializable
/** @attribute SerializableAttribute() */
public class Win32Exception extends ExternalException implements ISerializable
SerializableAttribute
public class Win32Exception extends ExternalException implements ISerializable
Hinweise
Win32-Fehlercodes werden beim Anzeigen aus ihren numerischen Darstellungen in eine Systemmeldung übersetzt. Verwenden Sie die NativeErrorCode, um auf die numerische Darstellung des Fehlercodes zuzugreifen, der dieser Ausnahme zugeordnet ist. Weitere Informationen zu den Fehlercodes finden Sie unter "Win32 Error Codes" in der Platform SDK-Dokumentation unter https://www.microsoft.com/germany/msdn.
Hinweis
Das auf diese Klasse angewendete HostProtectionAttribute-Attribut besitzt den Resources-Eigenschaftenwert SharedState. Das HostProtectionAttribute hat keine Auswirkungen auf Desktopanwendungen (die normalerweise durch Doppelklicken auf ein Symbol, Eingeben eines Befehls oder eines URL in einem Browser gestartet werden). Weitere Informationen finden Sie unter der HostProtectionAttribute-Klasse oder unter SQL Server-Programmierung und Hostschutzattribute.
Beispiel
Im folgenden Codebeispiel wird veranschaulicht, wie eine Win32-Ausnahme abgefangen und deren Inhalt interpretiert wird. Im Beispiel wird versucht, eine nicht vorhandene ausführbare Datei zu starten, wodurch eine Win32-Ausnahme ausgelöst wird. Beim Abfangen der Ausnahme ruft das Beispiel die entsprechende Fehlermeldung, den Code und den Ursprung der Ausnahme ab.
Try
Dim myProc As New System.Diagnostics.Process()
myProc.StartInfo.FileName = "c:\nonexist.exe" 'Attempting to start a non-existing executable
myProc.Start() 'Start the application and assign it to the process component.
Catch w As System.ComponentModel.Win32Exception
Console.WriteLine(w.Message)
Console.WriteLine(w.ErrorCode.ToString())
Console.WriteLine(w.NativeErrorCode.ToString())
Console.WriteLine(w.StackTrace)
Console.WriteLine(w.Source)
Dim e As New Exception()
e = w.GetBaseException()
Console.WriteLine(e.Message)
End Try
try {
System.Diagnostics.Process myProc = new System.Diagnostics.Process();
myProc.StartInfo.FileName = "c:\nonexist.exe"; //Attempting to start a non-existing executable
myProc.Start(); //Start the application and assign it to the process component.
}
catch(Win32Exception w) {
Console.WriteLine(w.Message);
Console.WriteLine(w.ErrorCode.ToString());
Console.WriteLine(w.NativeErrorCode.ToString());
Console.WriteLine(w.StackTrace);
Console.WriteLine(w.Source);
Exception e=w.GetBaseException();
Console.WriteLine(e.Message);
}
try
{
System::Diagnostics::Process^ myProc = gcnew System::Diagnostics::Process;
//Attempting to start a non-existing executable
myProc->StartInfo->FileName = "c:\nonexist.exe";
//Start the application and assign it to the process component.
myProc->Start();
}
catch ( Win32Exception^ w )
{
Console::WriteLine( w->Message );
Console::WriteLine( w->ErrorCode );
Console::WriteLine( w->NativeErrorCode );
Console::WriteLine( w->StackTrace );
Console::WriteLine( w->Source );
Exception^ e = w->GetBaseException();
Console::WriteLine( e->Message );
}
Vererbungshierarchie
System.Object
System.Exception
System.SystemException
System.Runtime.InteropServices.ExternalException
System.ComponentModel.Win32Exception
System.Net.HttpListenerException
System.Net.NetworkInformation.NetworkInformationException
System.Net.Sockets.SocketException
Threadsicherheit
Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0, 1.0