试试Catch不会抓到

时间:2015-10-27 00:59:47

标签: c# try-catch

我正在使用我没写过的使用Entity Framework的代码,这仍然有点神秘。在web api控制器中,有以下代码。

try
{
    sdf = sdf.sdf(sdf);
}
catch (Exception ex)
{
    return NotFound();
}

当一个错误的orderid进入时,GetOrderByAlternateIdentifier会抛出一个空指针异常。这会停止GetOrderByAlternateIdentifier方法中的代码执行,因为错误没有被捕获。我认为上面的try catch会捕获它,所以我可以发回NotFound响应,但事实并非如此。

如何获取try catch以捕获GetOrderByAlternateIdentifier()中发生的错误?

格雷格

1 个答案:

答案 0 :(得分:1)

异常不会暂停代码。我最好的猜测是,当抛出异常时,Visual Studio调试器会中断。有一个设置可以确定是否发生这种情况。

但是,当您不进行调试时,异常不会停止代码。 try...catch工作正常。它经过了很好的测试。