我有一个看起来相当简单的问题(当然,如果你知道答案的话)。
某个函数我调用了另一个函数,但我想继续从调用者执行,即使被调用者抛出了异常。让我给你举个例子:
something function1()
{
try
{
//some code
int idNumber = function2();
//other code that need to execute even if function2 fails
return something;
}
catch(Exception e)
{//... perhaps something here}
}
编辑:function1 也有一个 return 语句,所以实际上没有什么可以在途中崩溃
在function2中我需要做一些事情,但我只需要在失败时记录,例如:
int function2()
{
try
{
//dostuff
}
catch(Exception e)
{
//Log stuff to db
}
}
好的,现在我的问题是,如果我想在函数 1 中继续执行,即使函数 2 抛出错误,我该怎么办?
有时,如果我应该投掷,我会混淆;或抛出 e;或什么都不扔(将 catch 块留空)