有經驗的碼農都知道,程序開發的差不多的時候,為了提高程序的穩健性,是一定要加上異常處理機制的
在scala中,用try/catch/finally實現該功能,這個在我的博客,數字轉漢字小工具中有體現,這里給出一個簡單的例子
try {
println("運行try")
}
catch {
case e: Exception => {
println("獲取異常信息")
}
}
finally{
println("try結束后的處理,如關閉連接")
}
如該示例,要注意的是:
1、try中放運行代碼,並且由於try是一個封閉的結構,try之外不能獲得try之內的變量
2、catch是用來獲取異常的,示例是中給出的是模式匹配所有異常信息,除此之外還可以匹配特定的異常,比如
case ex: FileNotFoundException => println("file is missing !")
case ex: IOException =>println("I/O error !")
case e: NullPointerException => println("One was null!")
case unknown => println("Unknown exception " + unknown)
3、try運行完后,無論是否異常都會運行finally
4、使用try異常處理機制的一個重要理由是,當有異常出現時,程序會跳過try繼續運行下去,不會就此中斷,有效提高了程序的穩健性
