【发布时间】:2022-03-24 19:50:28
【问题描述】:
我有几个 C# 方法,我想将它们包装在一个 try-catch 块中。每个函数都有相同的 catch 逻辑。有没有一种优雅的方法可以为这些函数中的每一个添加一个装饰器,以便它们都用相同的 try/catch 块包装?我不想将 try/catch 块添加到所有这些函数中。
例子:
public void Function1(){
try {
do something
}catch(Exception e) {
//a BUNCH of logic that is the same for all functions
}
}
public void Function2() {
try {
do something different
}catch(Exception e) {
//a BUNCH of logic that is the same for all functions
}
}
【问题讨论】:
-
你能显示你的代码吗...
-
为什么不尝试/捕获每个并将异常发送到一个通用静态函数?
-
使用AOP 例如以下代码:rhyous.com/2012/06/15/… 代码就像向函数添加属性一样简单。 stackoverflow.com/questions/4999144/…
-
@JoelEtherton 我该怎么做,你有例子吗?
-
您为什么不让您的异常冒泡并由全局异常处理程序处理(记录)?