Practical .NET

Send the Right Error Information with HttpException

When something goes wrong with your Web Service the decent thing to do is to return your errors in a variety of ways.

One way to return an error from a Web Service is to raise an HttpException. If you do so, you should support two methods and one property on the HttpException object:

  • GetHttpCode: One of the HTTP protocol's predefined codes
  • GetHtmlMessage: An HTML-formatted message suitable for display in a Web page
  • Message: A plain text string containing useful information about the error

Probably the easiest way to do this is to pass the exception that your service ran into as the third parameter when creating the HttpException object. The odds are good that the ErrorFormatter that generates the HttpException object's HTML will be able to convert your exception into HTML.

Your resulting code would look like this (using 500, the standard HTTP code for "something has gone horribly wrong on the server"):

Try
  '...code with potential problem...
Catch (ex As Exception)
  Throw New Exception(500, "Something has gone horribly wrong", ex)
End Try

Now, that's a strong message no one can ignore.

About the Author

Peter Vogel is a system architect and principal in PH&V Information Services. PH&V provides full-stack consulting from UX design through object modeling to database design. Peter tweets about his VSM columns with the hashtag #vogelarticles. His blog posts on user experience design can be found at http://blog.learningtree.com/tag/ui/.

comments powered by Disqus

Featured

  • Telerik UI for Blazor Updated

    Progress announced an update to its Telerik UI for Blazor components, targeting Microsoft's open source Blazor framework that lets C# coders create web apps without having to rely upon JavaScript.

  • Infragistics Unveils UI Components for Blazor

    Infragistics, specializing in third-party UI/UX controls and tools, unveiled a new offering targeting Blazor, Microsoft's red-hot open source framework that allows for C#-based web development instead of traditional mainstay JavaScript.

  • AWS Open Sources Tool for Porting .NET Framework Apps to .NET Core

    Leading cloud computing platform Amazon Web Services open sourced the it announced in July for helping users port old .NET Framework applications to the new .NET Core framework.

  • Uno Platform Ports Windows Calculator to Linux

    Uno Platform has ported the famed Windows Calculator, open sourced last year, to Linux as part of a continuing "proof point" effort to demonstrate the reach of what it describes as the sole UI offering available to target Windows, WebAssembly, iOS, macOS, Android and Linux with single-codebase applications coded in C# and XAML.

  • ASP.NET Core OData 8 Preview Supports .NET 5, but with Breaking Changes

    ASP.NET Core OData, which debuted in July 2018, is out in a v8.0 preview that for the first time supports the upcoming .NET 5 milestone release.

Upcoming Events