gpt4 book ai didi

c# - 在不捕获异常的情况下使用额外信息注释异常

转载 作者:太空狗 更新时间:2023-10-29 21:55:20 30 4
gpt4 key购买 nike

有时会出现异常。当他们这样做时,他们会被记录下来并在以后进行分析。日志显然包含堆栈跟踪和其他全局信息,但通常缺少关键上下文。我想用这些额外的信息来注释一个异常,以方便事后调试。

  • 我不想try{...}catch{... throw;} 因为那算作捕获异常并且使调试更难(在开发过程中我希望app 停止并且调试器在抛出原始异常时使用react,而不是在最外层未捕获的异常被抛出时)。第一次机会异常处理程序不是解决方法,因为不幸的是误报太多。
  • 我想避免在正常的、非异常的情况下产生过多的开销。

有没有办法以不捕获异常的方式在异常中存储上下文的关键部分(例如正在处理的文件名或其他)?

最佳答案

根据 Adam 对 Aop 的建议,我正在对这座建筑进行拍摄。我的解决方案是 Unity 而不是 postsharp,我唯一的问题是异常是否在调用内部被捕获,这可能是......

        public IMethodReturn Invoke(IMethodInvocation input, GetNextInterceptionBehaviorDelegate getNext)
{
//execute
var methodReturn = getNext().Invoke(input, getNext);

//things to do after execution
if (methodReturn.Exception != null)
methodReturn.Exception.Data.Add("filename", "name of file");

return methodReturn;
}
}

关于c# - 在不捕获异常的情况下使用额外信息注释异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8230227/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com