[英]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.