Die Aufgabe, eine eigene Exception zu erstellen taucht – wenn man ordentlich mit Exceptions arbeiten möchte – immer wieder mal auf.
Wie eine saubere eigene Implementierung einer Exception aussieht, ist untenstehendem Code-Snippet zu entnehmen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
using System; using System.Runtime.Serialization; namespace de.invidit.Tools { public class ExpressableNameOfTheException : Exception { public ExpressableNameOfTheException() : base() { /* Nothing here */ } public ExpressableNameOfTheException(string argument) : base("Message with use of the '" + argument + "'.") { /* Nothing here */ } public ExpressableNameOfTheException(string argument1, string argument2) : base("Message with use of the '" + argument1 + "' and '" + argument2 + "'.") { /* Nothing here */ } public ExpressableNameOfTheException(string serviceName, Exception innerException) : base("Message with use of the '" + argument + "'.", innerException) { /* Nothing here */ } public ExpressableNameOfTheException(string argument1, string argument2, Exception innerException) : base("Message with use of the '" + argument1 + "' and '" + argument2 + "'.", innerException) { /* Nothing here */ } protected ExpressableNameOfTheException(SerializationInfo info, StreamingContext context) : base(info, context) { /* Nothing here */ } } } |