首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ASP.NET C#捕获类中的所有异常

ASP.NET C#捕获类中的所有异常
EN

Stack Overflow用户
提问于 2011-05-06 20:15:09
回答 4查看 10.2K关注 0票数 18

我知道这不是做这件事的方法,而且它一点也不干净。我只是想知道这是否可能。

如果我有一个包含一堆方法的类

代码语言:javascript
复制
public class Foo {

   methodA() {}

   methodB() {}

   methodC() {}

}

有没有可能捕获所有可能发生的异常,而不必在每个方法中编写try/catch?

EN

回答 4

Stack Overflow用户

发布于 2011-05-06 20:22:35

您可以编写一个更高阶的函数来处理异常,这将使其更加简洁。

代码语言:javascript
复制
private T FooExceptionHandler(Func<T> function)
{
   try
   {
      return function();
   }
   catch
   {
      //handle it
   }
}

如果没有返回值,可以用Action替换Func。在函数之外,您可以通过两种方式使用它:

代码语言:javascript
复制
FooExceptionHandler(MethodA);

或者在每个函数中:

代码语言:javascript
复制
MethodA()
{
   return FooExceptionHandler(()=>
      {
         //Function body goes here
      });
}
票数 5
EN

Stack Overflow用户

发布于 2011-05-06 20:17:52

不,没有。try/catch块只能出现在方法中。但是,您可以使用某种AOP框架来自动生成这些块。postcrap是一个非常轻量级的面向方面程序设计组件。

票数 0
EN

Stack Overflow用户

发布于 2011-05-06 20:19:41

你可以在调用这些方法的函数中处理它...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5911257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档