iT邦幫忙

2024 iThome 鐵人賽

DAY 16
0
JavaScript

大樂透對獎系列 第 27

例外

  • 分享至 

  • xImage
  •  

Scanner物件的nextInt方法,可以將使用者輸入的下一個字串剖析為int值,如果出現InputMismatchException錯誤訊息,表示不符合Scanner物件預期,因為Scanner物件預期下一個字串本身要代表數字。

JVM會嘗試執行try區塊的程式碼,如果發生錯誤,執行流程會跳離錯誤發生點,然後比對catch中宣告的型態,是否符合被拋出的錯誤物件型態,如果是的話,就執行catch區塊的程式碼。

如果nextInt發生了InputMismatchException錯誤,執行流程就會跳到catch區塊,執行完catch區塊之後,由於還在while迴圈中,還可以繼續下一個迴圈流程。

Java在例外處理的設計上,並不鼓勵捕捉InputMismatchException並重新恢復執行流程,這跟例外繼承架構有關。

簡單來說,API 設計者在System.in.read的實作中,某些條件成立時會引發錯誤,而且認為呼叫System.in.read方法的客戶端有能力處理錯誤,要求編譯器提醒客戶端必須明確處理錯誤,不然不可通過編譯。


上一篇
介面
下一篇
例外
系列文
大樂透對獎30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言