C# try-catch C中的优先级异常#

C# try-catch C中的优先级异常#,c#,exception,try-catch,C#,Exception,Try Catch,我有以下代码: try { var bookingResult = externalService.Confirm(masterLocator, itemLocator); } catch (AvailabilityException) { ConfirmingService.SaveErrorType(itemLocator.Id,(int)ErrorType.Availability); throw; } catch {

我有以下代码:

try {
        var bookingResult = externalService.Confirm(masterLocator, itemLocator);
    }
catch (AvailabilityException)
{
        ConfirmingService.SaveErrorType(itemLocator.Id,(int)ErrorType.Availability);
        throw;
}
catch
{
        ConfirmingService.MarkItem(confirmation.Id);
        throw;
}
当我执行程序时,我知道异常是可用性异常,因为我强制服务给我可用性异常,但总是输入空捕获


我做错了什么?或者为什么总是输入catch empty?

问题是服务向我发送了两个不同的AvailabilityException

现在,我捕获了另一个AvailabilityException


您的注释非常有用,因为它不是一个可用的异常?要帮助调试,请不要使用空的catch,而是使用
catch(Exception ex)
。然后,您可以在catch块中放置一个断点,看看异常类型到底是什么。也许是一个愚蠢的问题:您是否定义了两个
AvailabilityException
类?一个在
externalService
程序集中,另一个在
try/catch
程序集中?如果到达空的catch,显然您遇到了不同的异常类型。添加异常变量声明并在MarkItem语句上放置断点。使用调试器。您可能会遇到
SoapException
或类似的情况。