如果我想保留堆栈跟踪,我有这个catch块......
try
{
//Cause exception here...
}
catch (CustomException customEx)
{
//Handle custom exception here...
}
catch
{
throw;
}
上面的捕获(没有参数)是否会重新抛出异常?
答案 0 :(得分:3)
你的问题不清楚。您的实际问题似乎是“catch(SpecificException)
是否会落入一般catch
?”,答案为“否”。
如果“the”异常是指“除CustomException
之外的任何其他例外”,那么是的,它们将被重新抛出。
如果你想重新抛出后者,你还需要throw
中的catch(CustomException customex)
。
答案 1 :(得分:0)
您可以使用try-catch-finally
catch的常见用法最后是在try块中获取和使用资源,处理catch块中的异常情况,并释放finally块中的资源。 有关重新抛出异常的更多信息和示例,请参阅try-catch和Throwing Exceptions。有关finally块的更多信息,请参阅try-finally。
了解更多详情,请参阅