我正在try 序列化C#中的异常对象.然而,这似乎是不可能的,因为Exception类没有标记为[Serializable].有办法解决这个问题吗?

如果在应用程序执行过程中出现问题,我希望收到发生异常的通知.

我的第一个react 是序列化它.

推荐答案

我之前做的是创建一个自定义错误类.它封装了有关异常的所有相关信息,并且是XML可序列化的.

[Serializable]
public class Error
{
    public DateTime TimeStamp { get; set; }
    public string Message { get; set; }
    public string StackTrace { get; set; }

    public Error()
    {
        this.TimeStamp = DateTime.Now;
    }

    public Error(string Message) : this()
    {
        this.Message = Message;
    }

    public Error(System.Exception ex) : this(ex.Message)
    {
        this.StackTrace = ex.StackTrace;
    }

    public override string ToString()
    {
        return this.Message + this.StackTrace;
    }
}

.net相关问答推荐

.NET Blazor-使用子组件中的处理程序方法进行双向数据绑定

向从 .NET 序列化的对象添加 Xml 属性

如何在 C# 中将 HTTP 发布请求发送到另一个 API?

C#字符串的GetHashCode()是如何实现的?

在 C# 中输入按键

MongoDB C# 驱动程序 - 忽略绑定字段

如何让 DateTimePicker 显示一个空字符串?

为什么递归调用会导致不同堆栈深度的 StackOverflow?

如何在 C# 中直接执行 SQL 查询?

LINQ 性能常见问题解答

如何使用 log4net 记录跟踪消息?

控制台应用程序的退出时

是否有 TLS 1.2 的 .NET 实现?

新的 netstandardapp 和 netcoreapp TFM 有什么区别?

Await 运算符只能在 Async 方法中使用

如何在多个解决方案之间共享相同的 Resharper 设置,无需人工干预?

使用语句与最终try

.NET 高级别的 .NET 4.0 和 .NET 4.5 的区别

如何隐藏 WPF ListView 的标题?

NServiceBus 与 MassTransit