After some research I found that a custom exception should look like this:
using System;
using System.Runtime.Serialization;
namespace YourNamespaceHere
{
[Serializable()]
public class YourCustomException : Exception, ISerializable
{
public YourCustomException() : base() { }
public YourCustomException(string message) : base(message) { }
public YourCustomException(string message, System.Exception inner) : base(message, inner) { }
public YourCustomException(SerializationInfo info, StreamingContext context) : base(info, context) { }
}
}
But I have small problem.
I want above exception to have two additional fields, say int ID
and int ErrorCode
. How do I add these two fields and initialize them - shall I add a new constructor, with these two parameters and the message parameter?
Also can you help me and show how to write the serialization methods for this new class which will have the two new properties?
Thank you.