我正在编写一个类,当参数被错误时,我想在缺少参数的方法中抛出一个execption。
Happend:在课堂上调用execption,但一切都很好。
原因:我想将它用作某种类型的库,所以我希望在缺少某些东西而不是类的源代码的方法中抛出execption。
答案 0 :(得分:3)
答案 1 :(得分:1)
异常将被抛出到您想要的位置。调试器停止的原因是调试器可以访问源。如果您将代码编译为库,然后在另一个应用程序中引用此lib,则调试器将停止在您调用抛出异常的方法的位置,因为这是他可以到达的异常的最近点。
答案 2 :(得分:0)
你不能,你扔到哪里扔,就是这样。如果你想将异常创建与处理分开,你可以做的是创建你的异常对象而不是抛出它,而是从你的方法中返回它,如果你愿意,可以抛出它
Exception MakeException(bool DoThrow, string Message)
{
if(DoThrow)
{
if(string.IsNullOrWhiteSpace(Message)
return new Exception("Message Missing");
else
return new Exception(Message);
}
return null;
}
void Main()
{
var ex = MakeException(true,"MyMessage");
if(ex != null)
throw ex;
}
这样你就可以在任何地方创建例外并将其扔到另一个地方。