“在C#中有一个反映类型的错误”

时间:2011-01-26 20:25:38

标签: c# .net exception serialization

我需要序列化和异常,我创建了一个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));”

我实际上要做的是当我捕获异常时我想序列化它然后将它存储到我的单元测试程序的文件中。 你能帮助我吗? 提前致谢 JP

1 个答案:

答案 0 :(得分:1)

您无法使用XmlSerializer序列化例外 您需要使用二进制序列化。

基础Exception课程已经[Serializale],因此您的课程无用 这也是错的;你忽略了堆栈跟踪。