gpt4 book ai didi

c# - 在 C# 中捕获所有异常

转载 作者:行者123 更新时间:2023-11-30 20:11:44 25 4
gpt4 key购买 nike

我正在用 C# 开发一个 GUI 应用。

这是一个多线程应用程序,我想用 包装所有线程(其中一些我没有打开,例如 NetClient.StartDownload,这是一个非阻塞函数) try/catch 语句,这样如果抛出异常但未捕获,我可以记录它并向基地报告。

我尝试使用 Application.ThreadExceptionAppDomain.CurrentDomain.UnhandledException,但它们似乎只能捕获 GUI 异常。

我需要用不同的方式来处理这个问题吗?

最佳答案

每个线程中的代码都需要有一个 try-catch。异常不会跨线程编码...并且未处理的异常只会导致应用程序停止运行。

要捕获所有异常 - 只需使用基本异常类型。

catch(Exception e) { // log e } 

更新:您可以查看 AppDomain.UnhandledException - 处理此事件以在任何线程上记录未处理的异常;但是您无法阻止应用程序停止运行。如需更多信息,请查看 http://www.albahari.com/threading/#_Introduction - 在该页的末尾。

关于c# - 在 C# 中捕获所有异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3325037/

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