【发布时间】:2015-07-28 15:39:05
【问题描述】:
如果方法 resubmit() 出现问题,我想抛出异常
var manager = new ApprovalsDashboardManager();
try
{
manager.Resubmit(requestId, userId);
}
catch (Exception e)
{
throw new ApplicationException("Resubmit Request Failed, Please resubmit in a while", e.InnerException);
}
是他使用 try catch 块的正确方法吗?我想知道如何错误处理在我当前项目中调用的其他项目中的方法。
【问题讨论】:
-
如果你抛出一个ApplicationException,你应该只捕获ApplicationExceptions。这将阻止您忽略可能发生的其他错误。捕获所有异常通常是一种不好的做法。异常处理也是让你可以处理问题。抛出另一个异常基本上是没有意义的。您应该通过显示消息框或其他方式来管理错误。
-
如果您要做的只是抛出另一个异常,为什么还要捕获异常?首先在此时捕获异常实际上有什么价值吗?
-
如果你用另一个异常包装一个异常(我不判断它在给定上下文中本身是好还是坏),异常构造函数的第二个参数应该是
ee.InnerException的可能。