我需要序列化和异常,我创建了一个Serializable类
[Serializable]
public class MessageException : Exception
{
public string Exception
{ get; set; }
public MessageException()
{ }
public MessageException(System.Exception ex)
{
this.Exception = ex.Message.ToString();
}
}
我尝试从发生以下异常的类中调用该类
catch (Exception ex)
{
MessageException exception = new MessageException(ex);
var exSerializer = new XmlSerializer(typeof(MessageException));
var writer = new StringWriter();
exSerializer.Serialize(writer, exception);
writer.Close();
Compair2Files(writer.ToString(), BaseString);
}
它在第二行上失败“ var exSerializer = new XmlSerializer(typeof(MessageException));”
我实际上想做的是,当我捕获异常时要对其进行序列化,然后将其存储到用于单元测试程序的文件中。
你能帮我吗
提前致谢
J.P
最佳答案
您不能使用XmlSerializer
序列化异常。
您需要使用二进制序列化。Exception
基类已经是[Serializale]
,因此您的类没有用。
这也是错误的。您将忽略堆栈跟踪。