gpt4 book ai didi

c# - 具有属性的自定义异常

转载 作者:太空狗 更新时间:2023-10-29 20:13:05 27 4
gpt4 key购买 nike

经过一番研究,我发现自定义异常应该如下所示:

using System;
using System.Runtime.Serialization;

namespace YourNamespaceHere
{
[Serializable()]
public class YourCustomException : Exception, ISerializable
{
public YourCustomException() : base() { }
public YourCustomException(string message) : base(message) { }
public YourCustomException(string message, System.Exception inner) : base(message, inner) { }
public YourCustomException(SerializationInfo info, StreamingContext context) : base(info, context) { }
}
}

但我有一个小问题。

我希望上面的异常有两个额外的字段,比如 int IDint ErrorCode。我如何添加这两个字段并初始化它们 - 我应该添加一个构造函数,使用这两个参数和消息参数吗?

您还可以帮助我并展示如何为这个将具有两个新属性的新类编写序列化方法吗?

谢谢。

最佳答案

它看起来像这样。你在这里寻找更多细节 What is the correct way to make a custom .NET Exception serializable?

 [Serializable()]
public class YourCustomException : Exception, ISerializable
{
public Int Id { get; set; }
public Int ErrorCode { get; set; }
public YourCustomException() : base() { }
public YourCustomException(string message) : base(message) { }
public YourCustomException(string message, System.Exception inner) : base(message, inner) { }
public YourCustomException(SerializationInfo info, StreamingContext context) : base(info, context) { }
public YourCustomException(string message, int Id, int ErrorCode)
: base(message)
{
this.Id = Id;
this.ErrorCode = ErrorCode;
}
}

关于c# - 具有属性的自定义异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33031530/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com