我有以下特點:如何在Scala自定義異常中設置消息?
trait ServiceException extends Exception {
val message: String
val nestedException: Throwable
}
和異常看起來是這樣的:
case class NoElementFoundException(message: String = "error.NoElementFoundException",
nestedException: Throwable = null) extends ServiceException
的問題是,如果我有這樣的方法:
def bla(exception: Throwable) = exception.getMessage
我通過此方法我的NoElementFoundException
,然後getMessage
將返回null
。
也許我可以很容易地通過移除特徵和Exception
只是擴展解決這個問題:
case class NoElementFoundException(message: String = "error.NoElementFoundException",
nestedException: Throwable = null) extends Exception(message)
然而,有沒有辦法讓特質?