我檢討我的代碼的最後一次搜索例外,當我停在這行代碼:Scala io.Source.FromFile是否會返回任何類型的異常?
var list: Array[String] = Source.fromFile(this.Path).getLines.toArray
我搜索了斯卡拉琅的文件中,但似乎都不該行的方法拋出任何種類的ioException
... 這怎麼可能?
編輯:
try {
var list: Array[String] = Source.fromFile("").getLines.toArray
}
catch {
case ex:Exception => println(ex.getMessage)
}
沒有打印任何東西,爲什麼呢?
我明白作者決定不使用檢查的異常,但至少他們應該在文檔中寫出可拋出的異常! – DDB 2011-05-01 10:38:18
我也明白,在java中寫入throws子句中的每個異常都是可恨的,但我喜歡編譯器應該警告你的想法!事情是這樣的,沒有辦法在Scala中編寫好的代碼,因爲或者你忽略了異常並讓你的程序默默地崩潰,或者你把所有的代碼都封裝在try-catch中!這怎麼可能?! – DDB 2011-05-01 10:44:39
@DDB,這當然是一個設計決定。我不認爲這一切都很糟糕。現在,爲了處理異常,我強烈建議您深入研究一下control.Exception,您會發現可以幫助您處理異常而不訴諸try/catch的實用程序。 – pedrofurla 2011-05-01 16:41:44