Générer des rapports de plantage en C#

Générer des rapports de plantage

Ces extraits de code sont conçus pour gérer une exception et générer un rapport de plantage lorsqu’une erreur se produit.

Voici les étapes détaillées de l’exemple :

  1. Le bloc try contient du code qui pourrait produire une erreur. Dans ce cas, il lance délibérément une nouvelle exception avec le message “message” et une exception interne avec le message “message interne”. L’exception interne fournit plus de contexte sur la cause de l’erreur.

  2. Bloc Catch. Lorsqu’une exception est lancée dans le bloc try, le bloc catch la capture en tant qu’objet Exception (ex). À l’intérieur du bloc catch, la méthode PdfException.GenerateCrashReport() est appelée. Cette méthode est responsable de la génération d’un rapport de plantage. L’objet CrashReportOptions est initialisé avec l’exception capturée (ex) et passé à la méthode GenerateCrashReport en tant que paramètre.

  3. Gestion des erreurs. Elle capture les exceptions qui peuvent se produire pendant l’exécution du code.

  4. Génération de rapports de plantage. Lorsqu’une erreur se produit, elle crée automatiquement un rapport de plantage qui peut être utilisé pour déboguer ou diagnostiquer le problème ultérieurement.

Flux de travail de base :

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void GenerateCrashReportExample()
{
    try
    {
        // some code
        // ....

        // Simulate an exception with an inner exception
        throw new Exception("message", new Exception("inner message"));
    }
    catch (Exception ex)
    {
        // Generate a crash report using PdfException
        Aspose.Pdf.PdfException.GenerateCrashReport(new Aspose.Pdf.CrashReportOptions(ex));
    }
}

Définir un répertoire où le rapport de plantage sera généré :

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void GenerateCrashReportInCustomDirectory()
{
    try
    {
        // some code
        // ...

        // Simulate an exception with an inner exception
        throw new Exception("message", new Exception("inner message"));
    }
    catch (Exception ex)
    {
        // Create crash report options
        var options = new Aspose.Pdf.CrashReportOptions(ex);

        // Set custom crash report directory
        options.CrashReportDirectory = @"C:\Temp";

        // Generate a crash report using PdfException
        Aspose.Pdf.PdfException.GenerateCrashReport(options);
    }
}

Définir votre propre nom de rapport de plantage :

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void GenerateCrashReportWithCustomFilename()
{
    try
    {
        // some code
        // ...

        // Simulate an exception with an inner exception
        throw new Exception("message", new Exception("inner message"));
    }
    catch (Exception ex)
    {
        // Create crash report options
        var options = new Aspose.Pdf.CrashReportOptions(ex);

        // Set custom crash report filename
        options.CrashReportFilename = "custom_crash_report_name.html";

        // Generate a crash report using PdfException
        Aspose.Pdf.PdfException.GenerateCrashReport(options);
    }
}

Fournir des informations supplémentaires sur les circonstances exceptionnelles dans le champ CustomMessage :

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void GenerateCrashReportWithCustomMessage()
{
    try
    {
        // some code
        // ...

        // Simulate an exception with an inner exception
        throw new Exception("message", new Exception("inner message"));
    }
    catch (Exception ex)
    {
        // Create crash report options
        var options = new Aspose.Pdf.CrashReportOptions(ex);

        // Set custom message for the crash report
        options.CustomMessage = "Exception occurred while processing PDF files with XFA formatted forms";

        // Generate a crash report using PdfException
        Aspose.Pdf.PdfException.GenerateCrashReport(options);
    }
}