使用C#创建自定义异常
本文关键字:自定义异常 创建 使用 | 更新日期: 2023-09-27 18:27:42
我正试图用自己的异常类覆盖System.Exception类。我想添加参数"代码"。
我想这样做:
throw new MyException(code, "message");
然后使用以下方法捕获异常:
catch (MyException e) {
Console.WriteLine(e.code)
}
更新:问题是我需要将异常捕获为"(MyException e)"而不是"(exception e))
这是我迄今为止的代码:
public class MyException : System.Exception
{
public String ErrorCode = "";
public MyException() : base()
{
}
public MyException(string message, string code) : base(message)
{
this.ErrorCode = code;
}
public MyException(string message, Exception inner, string code) : base(message, inner)
{
this.ErrorCode = code;
}
}
这给了我一个错误,即"System.Exception不包含'ErrorCode'的定义…"。我做错了什么?
我已经测试了您的代码,异常类是正确的,但catch是错误的。我的测试代码是这样的。
catch (MyException ex)
{
Console.WriteLine(ex.ErrorCode);
}
ErrorCode
而不是Code
此外,将其设为公共只读属性。
编辑:
catch (MyException e) {
Console.WriteLine(e.ErrorCode)
}