Я пытаюсь расширить класс Java Exception, но результат довольно уродливый и неуклюжий. Итак, я не уверен, что я на правильном пути. Любой лучший способ сделать это?Scala: подкласс класса Java с несколькими конструкторами?
class ParentError(_d: Double, msg: String, cause: Throwable)
extends Exception(msg: String, cause: Throwable) {
def this() = this(0, null, null)
def this(d: Double) = this(d, null, null)
def this(msg: String) = this(0, msg, null)
def this(msg: String, cause: Throwable) = this(0, msg, cause)
def this(cause: Throwable) = this(0, null, cause)
def i = _d
}
case class ChildError(_b: Boolean, _i: Double, msg: String, cause: Throwable)
extends ParentError(_i: Double, msg: String, cause: Throwable) {
def this(b: Boolean) = this(b, 0, null, null)
def this(msg: String) = this(false, 0, msg, null)
def this(msg: String, cause: Throwable) = this(false, 0, msg, cause)
def this(cause: Throwable) = this(false, 0, null, cause)
def b = _b
}
Примечание: Я видел In Scala, how can I subclass a Java class with multiple constructors?, но я не думаю, что это то, что я ищу. Благодарности
возможно дубликат [определять свои собственные исключения с перегруженными конструкторами в Скале] (http://stackoverflow.com/questions/10925268/define-your-own -exceptions-with-overloaded-constructors-in-scala) – senia