Finest practices for dealing with exceptions in C#

At all times derive from the Exception class

When creating customized exception courses, at all times derive from the Exception class, not from the ApplicationException class. One of many causes for that is that an occasion of ApplicationException is thrown solely by the appliance and by no means by the runtime. Everytime you throw an occasion of ApplicationException in your code, you merely improve the decision stack with out including a lot worth.

Deal with exceptions on the highest stage

Be aware that exceptions are bubbled as much as the upper stage within the methodology name hierarchy, and it isn’t a very good follow to deal with exceptions in all of the layers of your utility. It is best to deal with an exception as excessive up within the name hierarchy as you’ll be able to. For instance, you’ll be able to eat an exception within the presentation layer and show applicable messages to the consumer to speak the precise error that has occurred.

Use predefined exceptions and clear error messages

It’s a good follow to make use of particular exceptions like FileNotFoundException and IOException when writing exception handlers after which a common catch block on the finish with the Exception class. This may make sure that you get a transparent understanding of the precise error that has occurred. As Microsoft’s documentation states: “The ApplicationException class doesn’t present data as to the reason for exceptions. In most situations, cases of this class shouldn’t be thrown. In circumstances the place this class is instantiated, a human-readable message describing the error ought to be handed to the constructor.”

Leave a Reply

Your email address will not be published. Required fields are marked *