如果你需要它,如果你try
代碼成功始終執行,把它放在你的try塊的結束。只要try
塊中的前一個代碼運行,它將一直運行,沒有出現異常。
try
{
// normal code
// code to run if try stuff succeeds
}
catch (...)
{
// handler code
}
finally
{
// finally code
}
如果您需要替代的異常處理你「succeded」的代碼,你可以隨時嵌套的嘗試/捕獲:
try
{
// normal code
try
{
// code to run if try stuff succeeds
}
catch (...)
{
// catch for the "succeded" code.
}
}
catch (...)
{
// handler code
// exceptions from inner handler don't trigger this
}
finally
{
// finally code
}
如果你的「成功」的代碼有你的最後,使用後執行一個變量:
bool caught = false;
try
{
// ...
}
catch (...)
{
caught = true;
}
finally
{
// ...
}
if(!caught)
{
// code to run if not caught
}
爲什麼不在測試結束時添加代碼? – 2012-07-31 11:00:16
因爲您可能希望其他代碼引發的任何異常被外部異常處理捕獲,而不是此內部try/catch塊。在這種情況下,最好的方式(我知道)是使用布爾。 – John 2014-04-07 19:50:16