Генерация отчётов о сбоях с помощью C#

Генерация отчётов о сбоях

Эти фрагменты кода предназначены для обработки исключения и создания отчёта о сбое при возникновении ошибки.

Вот подробные шаги примера:

  1. Блок try содержит код, который может вызвать ошибку. В этом случае он намеренно генерирует новое исключение с сообщением «message» и внутренним исключением с сообщением «внутреннее сообщение». Внутреннее исключение предоставляет больше информации о причине ошибки.

  2. Блок catch. Когда в блоке try генерируется исключение, блок catch перехватывает его как объект Exception (ex). Внутри блока catch вызывается метод PdfException.GenerateCrashReport(). Этот метод отвечает за создание отчёта о сбое. Объект CrashReportOptions инициализируется с помощью перехваченного исключения (ex) и передаётся методу GenerateCrashReport в качестве параметра.

  3. Обработка ошибок. Перехватываются исключения, которые могут возникнуть во время выполнения кода.

  4. Генерация отчёта о сбое. При возникновении ошибки автоматически создаётся отчёт о сбое, который можно использовать для отладки или диагностики проблемы позже.

Основной рабочий процесс:

// 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));
    }
}

Задайте каталог, в котором будет генерироваться отчёт о сбое:

// 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);
    }
}

Установите собственное имя отчёта о сбое:

// 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);
    }
}

Предоставьте дополнительную информацию об исключительных обстоятельствах в поле 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);
    }
}