I want to make a custom Exception in C#, but in theory I do need to do a little parsing first before I can make a human readable ExceptionMessage.
The problem is that the orginal Message can only be set by calling the base constructor of Messsage
, so I can't do any parsing in advance.
I tried overring the Message property like this:
public class CustomException : Exception
{
string _Message;
public CustomException(dynamic json) : base("Plep")
{
// Some parsing to create a human readable message (simplified)
_Message = json.message;
}
public override string Message
{
get { return _Message; }
}
}
The problem is that the Visual Studio debugger still shows the message that I've passed into the constructor, Plep in this case.
throw new CustomException( new { message="Show this message" } )
results in:
If I leave the base constructor empty it will show a very generic message:
An unhandled exception of type 'App.CustomException' occurred in App.exe
Question
It looks like the Exception Dialog reads some field/property that I don't have any access too. Is there any other way to set a human readable error message outside the base constructor on Exception.
Note that I'm using Visual Studio 2012.