我的應用中有很多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塊。希望你可以重構和集中你的錯誤處理? –