我的应用中有很多Try/Catch块来捕获异常。我想阅读这些处理的异常并将它们记录到文件中。是否可以使用PostSharp读取处理的异常?PostSharp句柄处理异常
0
A
回答
2
no。 PostSharp的工作方式是将你的方法封装在自己的try/catch块中,然后重新抛出异常。在你的方法中处理的任何异常都是内部try/catch,而postharp只有外部try/catch块。您将要么1)必须重新抛出异常或2)使用某个方面来处理这些异常。我都不推荐这两种方法。
0
处理这个(!)的一种方法是在catch中调用一个方法,该方法将记录传入异常的参数。只需传入例外,记录器就会记录信息。
[LogParameters(LogLevel.Error)]
private static void Error(Exception ex) { }
public class LogParameters : OnMethodBoundaryAspect {
public override void OnEntry(MethodExcutionArgs args) {
for (int i=0; i<args.Arguments.Count; i++) {
// Get argument from args.Arguments.GetArgument(i)
}
}
}
使用的定制OnMethodBoundaryAspect
的OnEntry
方法,你可以通过调用一个方法,并把在异常记录异常的信息。该方法实际上不需要做任何事情,它只是用于环绕并记录异常参数的模型。
相关问题
- 1. 未处理的句柄异常?
- 2. 异常句柄
- 3. 用MVC + Postsharp处理MVC异常
- 4. JwtBearerAuthentication安全句柄异常
- 5. Jsp中的句柄异常
- 6. 句柄system.format异常C#
- 7. postsharp异常为空
- 8. jquery submit()不处理句柄?
- 9. 异常处理:多次处理异常
- 10. C# - 从finally子句中处理异常
- 11. 使用语句的未处理异常
- 12. 处理异常与else子句
- 13. SQL预处理语句异常
- 14. php异常处理异常
- 15. 执行自定义错误句柄后执行默认异常处理程序
- 16. 未处理的事件循环异常,没有更多的句柄
- 17. 哪里可以抛出异常句柄?
- 18. JxBrowser 6.14.2下载文件句柄异常
- 19. 句柄编号格式异常
- 20. 打印类中的句柄异常
- 21. 句柄无效。 (从HRESULT异常:0x80070006(E_HANDLE))
- 22. C# - 句柄异常并停止执行
- 23. 上PostSharp异常方面
- 24. 异常处理
- 25. 异常处理
- 26. 异常处理
- 27. 异常处理
- 28. 处理异常
- 29. 异常处理
- 30. 处理异常
我以为PostSharp会有某种代码注入的可能性。 – Tomas
@Tomas不像你想的那样。 – ILovePaperTowels
这就是为什么我个人尽量避免编写try catch块。希望你可以重构和集中你的错误处理? –