gpt4 book ai didi

c# - 如何找到在 C# 中抛出的异常的异常类型?

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

我正在使用一个似乎没有记录异常的库。该库用于与公司生产的产品进行通信。我希望能够区分抛出的异常,但我不知道异常的名称(例如通信超时或欠压情况)。

他们所有的例子都只使用catch(Exception ex)。我怎样才能找到我需要用来捕捉个别错误的东西?当我执行 ex.toString() 时,我得到如下信息:

System.Exception: Timeout
at CMLCOMLib.EcatObj.Initialize()
at copley_cmo_test.MainWindow.btnConnect_Click(Object sender, RoutedEventArgs e)
in c:\Users\adam.siembida\Desktop\copley_cmo_test\copley_cmo_test\MainWindow.xaml.cs:line 41

最佳答案

这个:

System.Exception: Timeout

显示他们只是抛出一个裸System.Exception,例如

if (weHaveNoApiDesignSkills)
{
throw new Exception("Timeout");
}

可能有一些设计得更好的异常,但你展示的那个并不有前途:(

不幸的是,除非您开始使用异常中的消息来区分它们(这几乎总是是个坏主意),否则您会被卡住。可能值得询问库的作者,看看他们是否可以改进 future 版本的问题。

关于c# - 如何找到在 C# 中抛出的异常的异常类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17219794/

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