gpt4 book ai didi

c# - 捕获异常处理

转载 作者:行者123 更新时间:2023-11-30 13:16:15 24 4
gpt4 key购买 nike

使用有什么区别

catch(Exception ex)
{
...
throw ex;
}

并使用

catch   //  might include  (Exception) 
{
...
throw;
}

最佳答案

throw ex 从该点重新抛出异常对象。这通常很糟糕,因为它破坏了导致原始问题的有用调用堆栈信息。

throw 从实际抛出的位置释放最初捕获的异常。它会保留调用堆栈信息直至该点,而不是您捕获的点。

catch(Exception)catch 本质上是同一件事,除了显然第一个给你异常对象来做某事,而第二个没有。但是两者都会捕获所有异常。它们不同于 catch(SomeKindOfException),后者只会捕获该特定类型(或从该类型派生的更特定类型)的异常。这最适合以下情况:

try
{
//some file operation
}
catch(FileNotFoundException fnfex)
{
//file not found - we know how to handle this
}
//any other kind of exception,
//which we did not expect and can't know how to handle,
//will not be caught and throw normally

关于c# - 捕获异常处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1655430/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com