Exception Reporting for Windows Store Applications

| 3 min. (609 words)

We’ve recently extended the blasting range of the Raygun4Net provider to now target Windows Store applications (Windows 8.1 and Windows Phone 8.1). This sends exception reports from your Windows Store applications to your Raygun dashboard where they will be intelligently grouped together. Raygun gives you awareness of how well your published applications are doing, and gives you all the information you need to quickly track down exceptions so that you can have the most bug-free apps in the store.

This is available right now in the latest version of the NuGet package and is extremely easy to set up.

Installation and Usage

The easiest way to start using Raygun4Net in Windows Store applications is to use the NuGet package. Right click your project in Visual Studio and select “Manage NuGet packages…”. Search for “Raygun4Net” and then either install the standard or signed version depending on what you need.

To get Raygun4Net to send all unhandled exceptions to your Raygun dashboard, all you need to do is call the static RaygunClient.Attach method and pass in your application API key. The API key is provided when you create a new application in your Raygunaccount. The best place to call the Attach method is in the constructor of the App class:

public App()
{
  RaygunClient.Attach("YOUR_APP_API_KEY");
}

And that’s really all there is to it. Sometimes you may also want to send information about exceptions that you’ve caught. To do this, we provide a SendAsync method which you can call within a catch block. If you followed the above steps to send all unhandled exceptions, then you can use the static RaygunClient.Current property to get the RaygunClient instance to send exceptions with.

try
{
  throw new Exception("No quantum torpedoes have been loaded.");
}
catch (Exception e)
{
  RaygunClient.Current.SendAsync(e);
}

Support for no internet connection

Just like our other mobile Raygun providers, the Raygun4Net.WindowsStore assembly will save exception messages to the device if there is no internet connection. The stored messages are then sent when an internet connection is established. Furthermore, if an exception fails to be sent for any reason, we also save them to the device instead so that you never miss any messages. We do of course limit the number of stored exceptions so that if a device is not connected for very long periods of time, we don’t spam your customer’s device memory.

Additional options

Other things you can do with the Windows Store Raygun provider that you may find useful include:

  • Application version By default, the application version will automatically be detected and sent with the message information. If you ever want to provide your own version string however, you can do so via the ApplicationVersion property.
  • Unique user tracking On the RaygunClient instance, you can either set the User property to specify some kind of user identity value, or set the UserInfo property if you want to provide more detailed information about the user. This can be useful to see how many users are affected by each exception which can help prioritize which exceptions to work on. If you include an email address, you could then contact customers to let them know that bugs have been resolved.
  • Tags and custom data There are method overloads for the Send and SendAsync methods that allows you to provide a list of tags or/and a dictionary of custom data. This can be whatever you find will help you debug each exception.

Try it out now

If you’re looking for an exception reporting tool for your Windows Store applications, have a go with Raygun4Net. Sign up for a free 14 day trial of Raygun to get started – No credit card required.