我需要序列化和异常,我创建了一个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],因此您的类没有用。
这也是错误的。您将忽略堆栈跟踪。

10-08 12:16