今天要來談談,在寫程式時很常會遇到狀況,通常會發生都不是發生在編譯的階段,而是在程式的執行階段,常見的有
1.程式執行開啟的檔案不存在
2.要載入的檔案找不到
3.存取或取出陣列時,超出陣列的索引範圍
4.數學運算除數為0
因為通常都是在執行後才發現有例外,因此最好是要在編譯時就盡量的避免,如果不幸真的發生也需要有方法來解決,避免愈來愈多不正常的情形不斷發生。
例外的處理在java中通常都是使用try catch 包起來,有時還會加入finally 來補充。
下方舉一個陣列取出的例外,也是常見的錯誤之一:
可以發現因為在i會跑到10,但是索引值只到9,因此在存及取的時候會發生例外,但是依然能夠執行前面正確的部分,而如果想要直接正常的執行就用例外處理
把覺得會出錯的地方用try包起來,再用catch去抓,如果不曉得catch裡的內容要抓甚麼可以用e.toString
這個語法會將遇到的問題直接印出來,而finally是不管有沒有出例外都會執行,有時在編寫程式時都會想看看之後發生甚麼事,但往往因為一個例外讓往後的程式碼都無法執行,可以善用這個來先暫時跳過,看出之後的結果,最後還是要回來解決遇到的問題。