How to create user-defined exceptions
.NET provides a hierarchy of exception classes ultimately derived from the base class Exception. However, if none of the predefined exceptions meets your needs, you can create your own exception classes by deriving from the Exception class.
When creating your own exceptions, end the class name of the user-defined exception with the word "Exception", and implement the three common constructors, as shown in the following example. The example defines a new exception class named EmployeeListNotFoundException
. The class is derived from Exception and includes three constructors.
using namespace System; public ref class EmployeeListNotFoundException : Exception { public: EmployeeListNotFoundException() { } EmployeeListNotFoundException(String^ message) : Exception(message) { } EmployeeListNotFoundException(String^ message, Exception^ inner) : Exception(message, inner) { } };
using System; public class EmployeeListNotFoundException : Exception { public EmployeeListNotFoundException() { } public EmployeeListNotFoundException(string message) : base(message) { } public EmployeeListNotFoundException(string message, Exception inner) : base(message, inner) { } }
Public Class EmployeeListNotFoundException Inherits Exception Public Sub New() End Sub Public Sub New(message As String) MyBase.New(message) End Sub Public Sub New(message As String, inner As Exception) MyBase.New(message, inner) End Sub End Class
Note
In situations where you are using remoting, you must ensure that the metadata for any user-defined exceptions is available at the server (callee) and to the client (the proxy object or caller). For more information, see Best practices for exceptions.