Maison > développement back-end > C++ > Comment puis-je gérer les exceptions natives et accéder à des informations d'erreur spécifiques en C# ?

Comment puis-je gérer les exceptions natives et accéder à des informations d'erreur spécifiques en C# ?

Linda Hamilton
Libérer: 2024-12-30 12:51:10
original
890 Les gens l'ont consulté

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

Gestion des exceptions natives dans le code C#

En C#, il est possible d'intercepter les exceptions provenant de bibliothèques non gérées. Un bloc try-catch standard est suffisant pour gérer de telles exceptions. Cependant, pour accéder à des informations d'erreur spécifiques à partir de l'exception native, vous pouvez utiliser la classe Win32Exception.

La classe Win32Exception fournit une propriété NativeErrorCode qui renvoie le code d'erreur natif associé à l'exception. Vous pouvez utiliser cette propriété pour effectuer une manipulation spécifique ou afficher des messages d'erreur personnalisés.

Par exemple, considérons un scénario dans lequel vous tentez d'ouvrir un fichier à l'aide d'une application native. Le code ci-dessous montre comment gérer les exceptions potentielles, y compris les exceptions natives :

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);
        }
    }
}
Copier après la connexion

Dans cet exemple, nous captons l'exception Win32 et vérifions la propriété NativeErrorCode. Si le code d'erreur correspond à l'une des valeurs spécifiées (par exemple, fichier introuvable, accès refusé, etc.), nous affichons un message d'erreur personnalisé.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal