Skip to content

Sample Usage

Peter van der Woude edited this page Aug 26, 2018 · 48 revisions

To include the Exception Reporter 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 - see https://www.nuget.org/packages/ExceptionReporter/

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.

You would probably create and setup the config somewhere else to make the code cleaner, but here's an example:

 using ExceptionReporting;
 
 try {
    //... some code that can throw
 }
 catch (Exception exception) 
 {
     var reporter = new ExceptionReporter(); 

     reporter.Config.AppName = "PhotoFuzz";
     reporter.Config.CompanyName = "Fuzz Pty Ltd";
     reporter.Config.TitleText = "PhotoFuzz Error Report";
     reporter.Config.EmailReportAddress = "support@fuzz.com";
     reporter.Config.TakeScreenshot = true;   // attached if sending email
     reporter.Config.FilesToAttach = new[] { "c:/app/config.ini", "c:/app/error.log" }; 
     reporter.Config.SendMethod = ReportSendMethod.SMTP;  // also WebService/SimpleMAPI
     reporter.Config.SmtpServer = "127.0.0.1";
     reporter.Config.SmtpPort = 2500;
     reporter.Config.SmtpUsername = "jon";
     reporter.Config.SmtpPassword = "1234";
     reporter.Config.SmtpFromAddress = "test@test.com";
     reporter.Config.EmailReportAddress = "support@fuzz.com";
   
     // files to attach are automatically zipped into a single file and 
     // attached, if sending via email (SMTP/SimpleMAPI)
     
     reporter.Show(exception);    // can also pass multiple exceptions here  
     // reporter.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