This library will detect all unhandled exceptions in WinForms based applications and report them to your codeRR server.
Example of captured screenshot when an exception was detected
- Download and install the codeRR server or create an account at coderrapp.com
- Install this client library (using nuget
coderr.client.winforms
) - Configure the credentials from your codeRR account in your
Program.cs
.
public class Program
{
public static void Main(string[] args)
{
// codeRR configuration
var uri = new Uri("https://report.coderrapp.com/");
Err.Configuration.Credentials(uri,
"yourAppKey",
"yourSharedSecret");
// to catch unhandled exceptions
Err.Configuration.CatchWinFormsExceptions();
// different types of configuration options
Err.Configuration.TakeScreenshotOfActiveFormOnly();
Err.Configuration.TakeScreenshots();
Err.Configuration.UserInteraction.AskUserForDetails = true;
Err.Configuration.UserInteraction.AskUserForPermission = true;
Err.Configuration.UserInteraction.AskForEmailAddress = true;
// The usual stuff
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
}
All unhandled exceptions are reported manually. But sometimes you need to deal with exceptions yourself.
To report exceptions manually in your controller, use this.ReportError(exception)
to allow codeRR to include RouteData, ViewBag, TempData etc when your exception is reported.
If you do not have access to the controller, you can use the httpContext
(httpContext.ReportException()
) or just Err.Report()
.
public ActionResult UpdatePost(int uid, ForumPost post)
{
try
{
_service.Update(uid, post);
}
catch (Exception ex)
{
this.ReportException(ex, new{ UserId = uid, ForumPost = post });
}
}
This library includes the following context collections for every reported exceptions:
- All in the core library
- One property collection for each open form.
- Screenshot of the active form (the one that threw an exception)
You need to either install codeRR Community Server or use codeRR Live.
- Questions? http://discuss.coderrapp.com
- Documentation: https://coderrapp.com/documentation/client/libraries/winforms/