1
讓我們假設我有以下代碼...異常處理方法上的C#
try
{
await Task.Run(() => autobuyandsell.Discard_Players(client, this));
if (stop == false)
{
await Task.Run(() => autobuyandsell.Buy_300_Players(client, this));
}
}
catch (ExpiredSessionException ex)
{
relogin = true;
b_stop.PerformClick();
}
裏面autobuyandsell我打電話一些方法可以拋出該異常可發生ExpiredSessionException。我的問題是,我是否需要在函數中添加另一個try/catch塊,或者它足以處理extern異常?
回答採納:
由於我的計劃的唯一需要的就是退出方法,並重新啓動一些變量,最後,我決定使用try/catch語句的方法之外。
嗯,這完全取決於你想,如果拋出一個異常發生什麼功能。你是否希望你的(非傳統名稱,btw)'Discard_Players'和'Buy_300_Players'方法在異常之後繼續?如果是這樣,您需要在這些方法中捕獲異常。否則,你可以在調用代碼中捕獲它們。 –
我道歉我的命名錯誤。我在這方面很新,所以我會盡力從開始就養成良好的習慣。回到我的問題,我想要的是退出方法一旦收到異常,所以我想我只留下方法以外的異常。 – Aldridge1991
如果你想用這個try-catch來處理異常,那麼就不需要內部的try-catch塊。這將會很好。 –