gpt4 book ai didi

c# - 捕获全局异常是处理重新连接的好方法吗?

转载 作者:太空宇宙 更新时间:2023-11-03 20:27:04 25 4
gpt4 key购买 nike

我有一个不断增长的应用程序,它有多个用户控件、窗口等,它们都通过打开程序(登录服务器)时建立的套接字发送大量数据。如果服务器死机或出现类似情况,我希望能够以一种更优雅的方式处理随后的 SocketException,而不是将几乎每个代码块都包装在针对该特定异常的 try-catch 语句中。

void App_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)

使用它应该可以捕获任何抛出的未处理异常,简单地检查异常是否是 socketexception 然后启动“您已断开连接,请重新连接”代码是不是一个坏主意?使用此应用程序,您可以安全地假设抛出的任何 socketexception 的 99% 都是由于服务器断开连接造成的。

当我谈到这个主题时,您是否知道在捕获到异常类型后如何检查异常类型?通过上面的代码,我可以简单地使用 e.Exception 获取原始异常。我不太确定如何用 if 语句来检查异常类型。

最佳答案

恕我直言,这是一个非常糟糕的主意......

更好的解决方案是将访问套接字的代码移到它自己的类中......应用程序中需要与服务器交互的任何东西都通过该类......这样任何与套接字相关的异常都可以相应地处理在中心位置。

关于c# - 捕获全局异常是处理重新连接的好方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10044559/

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