我很困惑。這是否取決於具體情況?或者它有一個通用標準?任何人都可以給出一個總結告訴我何時使用if-else
,以及何時使用try...catch
?Java:什麼時候應該使用if-else,何時應該使用try ... catch來處理條件檢查?
-3
A
回答
2
我想這個問題太籠統了,但從我的角度來看,try...catch
塊只能在exceptional
的情況下使用,那些你並不真正期望發生的情況,但是應用程序可以從這些情況中恢復。 If-else
是一個完全正常的塊,可讓您的程序轉到兩個不同的方向。
0
使用try-catch
而不是if-else
你真的不應該交替使用它們。
try/catch
子句用於出錯的東西,這些東西出於您的控制而不是正常的程序流程。例如,試圖寫入文件並且文件系統已滿?這種情況通常應該用try/catch
來處理。
if-else
子句應該用在正常流程和普通錯誤檢查中。那麼,例如,用戶無法填充所需的輸入字段?對此使用if
,而不是try/catch
。
2
如果else語句是評估布爾表達式,比如,
if(isWeekday){
return "[email protected]:00AM";
}
else{
return "[email protected]:00AM";
你會使用如果你知道你有數據,當你可以很容易地計算一個布爾表達式else語句。有時候,你並不確定你在處理什麼,並可能會遇到錯誤,試圖解決它。在這種情況下,你可以使用try catch。
try{
Scanner data = new Scanner(new File("data.dat"));
} catch (IOException e){
e.printStackTrace();
}
在這種情況下,您無法真正確定您想從甚至存在數據的文件,因此您無法對其執行任何合理的計算。
0
在java
中,當代碼有可能引發需要交付的異常時,您使用try-catch
語句。運行try-catch
中的邏輯,直至找到異常,然後邏輯移至捕獲箱,您可以在其中處理異常。
try{
//Exception prone logic
}catch(Exception e){
//handle the exception here
}
的if-else
語句是其評估一個布爾表達式它指示程序流要麼進入的代碼,如果塊或代碼
if(i == 0){
//i is equal to 0
}else{
//i is not equal to 0
}
相關問題
- 1. 什麼時候應該在JavaScript中使用try/catch?
- 2. 什麼時候應該使用datagrid,何時應該使用datagridview?
- 3. 什麼時候應該使用$(object),何時應該使用$ object?
- 4. 什麼時候應該使用sed,什麼時候應該使用awk
- 5. 什麼時候應該使用Import-Package,什麼時候應該使用Require-Bundle?
- 6. 什麼時候應該使用最後塊在Java的的try-catch-終於
- 7. 什麼時候應該在Python中使用Try-Except語句?
- 8. 什麼時候應該使用AWS,什麼時候不使用
- 9. 什麼時候應該使用memcpy,什麼時候應該使用memmove?
- 10. 什麼時候應該使用流?
- 11. 我什麼時候應該使用javax.swing.SwingUtilities.invokeLater()?
- 12. 什麼時候應該使用助手?
- 13. 什麼時候應該使用GC.SuppressFinalize()?
- 14. 什麼時候應該使用退貨?
- 15. 什麼時候應該使用JCR,何時應該使用JPA/RDBMS?
- 16. 什麼時候應該使用getApplicationContext()。getBean?
- 17. 什麼時候使用try multi catch?
- 18. 什麼時候應該使用RESTful?
- 19. 什麼時候應該使用async/await,什麼時候不用?
- 20. 什麼時候應該使用一個引用,什麼時候應該使用一個ProjectReference
- 21. 什麼時候應該使用html5 sessionStorage?
- 22. 什麼時候應該使用getElementById?
- 23. 什麼時候應該使用tempfile
- 24. 什麼時候應該使用`use`?
- 25. 我什麼時候應該使用UITableViewCellSeparatorStyleSingleLineEtched?
- 26. 什麼時候應該使用scala.util.DynamicVariable?
- 27. 什麼時候應該使用FSharpFunc.Adapt?
- 28. MySql-什麼時候應該使用鎖
- 29. 什麼時候應該使用geom_map?
- 30. 什麼時候應該使用模板
else區塊條件語句'嘗試。當您嘗試的語句實際上會拋出異常時,catch語句只會作爲條件有用。當出現這種情況時,沒有辦法使用'if-else'來檢測它,因爲if-else會在發生異常時被完全中止 – Tibrogargan
'try-catch'用於異常處理。不適用於條件檢查 – Jens
相關閱讀:http://stackoverflow.com/questions/99683/which-and-why-do-you-prefer-exceptions-or-return-codes – Thilo