More specifically, when the exception contains custom objects which may or may not themselves be serializable.
Take this example:
public class MyException : Exception
{
private readonly string resourceName;
private readonly IList<string> validationErrors;
public MyException(string resourceName, IList<string> validationErrors)
{
this.resourceName = resourceName;
this.validationErrors = validationErrors;
}
public string ResourceName
{
get { return this.resourceName; }
}
public IList<string> ValidationErrors
{
get { return this.validationErrors; }
}
}
If this Exception is serialized and de-serialized, the two custom properties (ResourceName
and ValidationErrors
) will not be preserved. The properties will return null
.
Is there a common code pattern for implementing serialization for custom exception?