Heim > Backend-Entwicklung > C++ > Wie kann ich native Ausnahmen behandeln und auf spezifische Fehlerinformationen in C# zugreifen?

Wie kann ich native Ausnahmen behandeln und auf spezifische Fehlerinformationen in C# zugreifen?

Linda Hamilton
Freigeben: 2024-12-30 12:51:10
Original
898 Leute haben es durchsucht

How Can I Handle Native Exceptions and Access Specific Error Information in C#?

Behandeln nativer Ausnahmen in C#-Code

In C# ist es möglich, Ausnahmen abzufangen, die aus nicht verwalteten Bibliotheken stammen. Zur Behandlung solcher Ausnahmen reicht ein standardmäßiger Try-Catch-Block aus. Um jedoch auf bestimmte Fehlerinformationen aus der nativen Ausnahme zuzugreifen, können Sie die Win32Exception-Klasse verwenden.

Die Win32Exception-Klasse stellt eine NativeErrorCode-Eigenschaft bereit, die den mit der Ausnahme verknüpften nativen Fehlercode zurückgibt. Sie können diese Eigenschaft verwenden, um eine bestimmte Behandlung durchzuführen oder benutzerdefinierte Fehlermeldungen anzuzeigen.

Stellen Sie sich beispielsweise ein Szenario vor, in dem Sie versuchen, eine Datei mit einer nativen Anwendung zu öffnen. Der folgende Code zeigt, wie potenzielle Ausnahmen, einschließlich nativer Ausnahmen, behandelt werden:

const int ERROR_FILE_NOT_FOUND = 2;
const int ERROR_ACCESS_DENIED = 5;
const int ERROR_NO_APP_ASSOCIATED = 1155;

void OpenFile(string filePath)
{
    Process process = new Process();

    try
    {
        process.StartInfo.FileName = filePath;
        process.StartInfo.Verb = "Open";
        process.StartInfo.CreateNoWindow = true;
        process.Start();
    }
    catch (Win32Exception e)
    {
        if (e.NativeErrorCode == ERROR_FILE_NOT_FOUND || 
            e.NativeErrorCode == ERROR_ACCESS_DENIED ||
            e.NativeErrorCode == ERROR_NO_APP_ASSOCIATED)
        {
            MessageBox.Show(this, e.Message, "Error", 
                    MessageBoxButtons.OK, 
                    MessageBoxIcon.Exclamation);
        }
    }
}
Nach dem Login kopieren

In diesem Beispiel fangen wir die Win32Exception ab und überprüfen die NativeErrorCode-Eigenschaft. Wenn der Fehlercode mit einem der angegebenen Werte übereinstimmt (z. B. Datei nicht gefunden, Zugriff verweigert usw.), zeigen wir eine benutzerdefinierte Fehlermeldung an.

Das obige ist der detaillierte Inhalt vonWie kann ich native Ausnahmen behandeln und auf spezifische Fehlerinformationen in C# zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage