c# - 从异常中获取异常类型

标签 c#

我有一个将 SAP 与 RFC 调用连接起来的应用程序,我需要在尝试与 SAP 建立 RFC 调用时连接失败时向用户显示通知。我收到以下异常。

{
    SAP.Middleware.Connector.RfcCommunicationException: 
    LOCATION    CPIC (TCP/IP) on local host with Unicode
    ERROR       partner '151.9.39.8:8010' not reached
    TIME        Wed Jul 16 10:32:05 2014
    RELEASE     720
    COMPONENT   NI (network interface)
    VERSION     40
    RC          -10
    MODULE      nixxi.cpp
    LINE        3286
    DETAIL      NiPConnect2: 151.9.39.8:8010
    SYSTEM CALL connect
    ERRNO       10060
    ERRNO TEXT  WSAETIMEDOUT: Connection timed out
    COUNTER     2
} 

并且通过使用此异常我需要通知用户。但是我如何确定它是否是 SAP.Middleware.Connector.RfcCommunicationException 因为我也在处理其他异常。有什么方法可以在不连接上述异常字符串的情况下获取异常的类型。

在我的 try catch block 中 我目前正在这样做,但它不起作用。

catch (Exception ex)
{  
    if (ex.ToString().ToLower() == "rfccommunicationexception")
    {
        MessageError = "RFC error";
    }
}

最佳答案

显式捕获异常:

catch(SAP.Middleware.Connector.RfcCommunicationException)
{
    // RFC exception
}
catch(Exception e)
{
    // All other exceptions
} 

关于c# - 从异常中获取异常类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24772736/

相关文章:

c# - 我认为这个片段是 O(n^3) 是对的吗?

c# - 通过电子邮件 IOS 发送带有图像的 HTML 文件

c# - 使用 ASP.Net 检查客户端上已安装的应用程序

c# - GetWindowRect 不同于 Window.Left

c# - 检查 TextBox 输入是否为十进制数 - C#

c# - 按键 + 列表中的值对 Dictionary<int, List<int>> 进行排序

c# - C# XNA 的 Javascript(或类似)游戏脚本

c# - Collider 并不总是检测到 OnTriggerEnter

c# - 为什么从 C# 4.0 开始使用的 COM 库需要大量使用动态类型?

c# - 没有死的单声道友好图形库