繁体   English   中英

C# 为什么在 try-catch 块内引发异常?

[英]C# Why was exception raised inside try-catch block?

我有这个 ASP.NET 形式的代码:

bool cont = true;
int i = 0;

while (cont)
{
    try
    {
        JToken token = tempJSON["temperature"]["tool" + i];
        temperature.Add(JsonConvert.DeserializeObject<Structures.Temperature>(token.ToString()));
        i++;
    }
    catch(NullReferenceException ex) { pokracovat = false; }
}
 
return new TemperatureAndState(temperature, state);

运行代码后,程序会在 try catch 中引发 NullReferenceException。 怎么可能。 我认为如果在 try 块中引发异常,程序将调用 catch 然后继续。

错误:

错误图像

调试时,编译器将停止并且 Visual Studio 将中断发生的错误,即使它有一个捕获。

不用担心,正常运行应用程序时永远不会发生这种情况。

注意:如果你的try块中抛出的异常没有在catch块中处理,应用程序将会崩溃,所以如果你添加一个catch(Exception)块会很好,所以如果发生了不可预防的异常,你处理相应地。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM