从异常中获取异常类型

tar*_*ppa 2 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
} 
Run Code Online (Sandbox Code Playgroud)

通过使用此异常,我需要通知用户.但我怎样才能确定它是否是一个SAP.Middleware.Connector.RfcCommunicationException因为我正在处理其他例外.有没有办法在不连接上述异常字符串的情况下获取异常类型.

在我的try catch块中,我现在正在做这个,但它不起作用.

catch (Exception ex)
{  
    if (ex.ToString().ToLower() == "rfccommunicationexception")
    {
        MessageError = "RFC error";
    }
}
Run Code Online (Sandbox Code Playgroud)

zmb*_*mbq 6

明确捕获异常:

catch(SAP.Middleware.Connector.RfcCommunicationException)
{
    // RFC exception
}
catch(Exception e)
{
    // All other exceptions
} 
Run Code Online (Sandbox Code Playgroud)