Skip to content

Sample Usage

Peter van der Woude edited this page Sep 11, 2018 · 48 revisions

To include ExceptionReporter.NET within your application either add a Reference to ExceptionReporter.NET.dll to your project (and manually include the dependencies of DotNetZip, SimpleMapi and Handlebars.NET) or use Nuget.

Install-Package ExceptionReporter

Directly Invoke

You might have a high-level point in the code where most exceptions will be thrown. In this case, simply catch the Exception and invoke ExceptionReporter.NET.

Here's an example:

 using ExceptionReporting;
 
 try 
 {
    //... some code that can throw
 }
 catch (Exception exception) 
 {
     var er = new ExceptionReporter 
     {
       Config = 
       {
         AppName = "PhotoFuzz";
         CompanyName = "Fuzz Pty Ltd";
         TitleText = "PhotoFuzz Error Report";
         EmailReportAddress = "support@fuzz.com";
         TakeScreenshot = true;   // attached if sending email
         FilesToAttach = new[] { "c:/app/config.ini", "c:/app/error.log" }; 
         SendMethod = ReportSendMethod.SMTP;  // also WebService/SimpleMAPI
         SmtpServer = "127.0.0.1";
         SmtpPort = 2500;
         SmtpUsername = "jon";
         SmtpPassword = "1234";
         SmtpFromAddress = "test@test.com";         
       }
     }
     
     // files to attach are automatically zipped into a single file and 
     // attached, if sending via email (SMTP/SimpleMAPI)
     
     er.Show(exception);    // can also pass multiple exceptions here  
     // er.Send(exception)  // sends without showing dialog (SMTP/WebService)
  }

WinForms

Attach an event handler to the Application.ThreadException event before calling Application.Run()

using ExceptionReporting;
 
[STAThread]
static void Main()
{ 
  Application.ThreadException += new ThreadExceptionEventHandler(Application_ThreadException);
  //...
  Application.Run(new Form1());
}

private static void Application_ThreadException(object sender, ThreadExceptionEventArgs e)
{
  ExceptionReporter er = new ExceptionReporter();
  er.Show(e.Exception);
}

WPF

Attach an event handler to the DispatcherUnhandledException event

public App()
{
  DispatcherUnhandledException += OnDispatcherUnhandledException;
}

void OnDispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
{
  ExceptionReporter er = new ExceptionReporter();
  er.Show(e.Exception);
}

Clone this wiki locally