我正在VS2015中开发Windows应用程序我的查询与处理系统定义的异常的两种可能方法有关:-尽可能使用try块并进行处理-定义异常类并写下所有可能的异常(我只关注系统定义的异常例外,例如File Not Found,Null Reference),并在其他将自动处理该异常的类中继承该类。有人可以建议我哪种方法更好,如果第二种方法更好,如何实现和使用它。我的类已经从Form继承了。那我需要一个接口吗?如果可以,我可以在哪里实现这些方法?任何帮助表示赞赏!提前致谢。
方法2是可能的。如果您总是希望获得相同类型的例外,我建议您这样做。
如果被调用的方法可以引发非常具体的异常,则最好在引发异常的地方进行处理。
您可以定义一个包装器方法来捕获如下异常:
public bool TryExecuteServiceAction(Action a) {
if (a == null) {
throw new ArgumentNullException("a");
}
try {
a();
return true;
}
catch (SecurityAccessDeniedException sade) {
Logger.Error(sade);
return false;
}
}
通过返回ResultObject
包含错误代码,消息等的,而不是来扩展此模式bool
。
像这样使用包装器
DoSomethingDto serviceResult = null;
var success = TryExecuteServiceAction(() => serviceResult = _service.DoSomething(command));
if (success) {
// we know that the service call was successful and the DTO has data
// work with DTO ...
}
else {
// e.g. show generic error message to user
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句