Javaとの互換性のために補助コンストラクタを追加。
class MyException(message: String = null, cause: Throwable = null) extends RuntimeException(message, cause) {
def this(cause: Throwable) = this(Option(cause).map(_.toString).getOrElse(null), cause)
}
こんな感じで使える。
new MyException()
new MyException("msg")
new MyException(new Exception("hoge"))
new MyException("addtional message", new Exception("hoge"))
Scalaならもちろん引数名を指定しても良い。
new MyException(cause = new Exception("hoge"))