20
我有一個自定義異常類類似如下:調用超構造
case class CustomException(errorMsg:String) extends Exception(error:String)
所有我需要什麼,當我趕上例外的是把我的自定義異常,並通過我的錯誤消息的自定義異常。 我期望從CustomException構造函數調用super(errMsg) 但是,這不是現在發生的事情,並且我收到了一個編譯錯誤。
catch {
case s: Exception => throw CustomException("This is a custom message")
}
我怎麼能調用超構造函數:
super(errorMessage)
Thx。不過,我很好奇爲什麼Scala沒有Java那樣超級(errorMsg)! – Echo
@Echo:因爲它不是Java,而且超級構造函數只能從類的主構造函數中調用,即使如此,它也只能被稱爲構造函數中的第一個操作。 Scala的語法更好地代表了這個潛在的限制(如JVM強加的) –
如果你想在你的自定義異常中實現異常構造函數(字符串,可拋出)和(字符串),該怎麼辦? – monzonj