Scala 如何扩展超类并在超类构造函数参数中调用方法或lazy val

Scala 如何扩展超类并在超类构造函数参数中调用方法或lazy val,scala,Scala,我试图弄清楚如何在调用超类构造函数参数时进行任何类型的计算、方法调用等 下面是一个示例:我正在扩展RuntimeException,并希望对我的参数执行一次计算,以确定超类参数。具体来说,我想找出我的最高优先级错误是什么,并将其传递给RuntimeException消息。我相信除了通过其构造函数之外,没有其他方法可以设置RuntimeException的消息字符串 myErrors是(严重性、messageString)元组的列表 编译器说它无法解析超类构造函数调用中的“highestSever

我试图弄清楚如何在调用超类构造函数参数时进行任何类型的计算、方法调用等

下面是一个示例:我正在扩展RuntimeException,并希望对我的参数执行一次计算,以确定超类参数。具体来说,我想找出我的最高优先级错误是什么,并将其传递给RuntimeException消息。我相信除了通过其构造函数之外,没有其他方法可以设置RuntimeException的消息字符串

myErrors是(严重性、messageString)元组的列表


编译器说它无法解析超类构造函数调用中的“highestSeverityError”

在初始化超类之前,不能使用实例方法。 像这样的东西应该适合你,我想:

object MyRunTimeException {
  def mostSevere(errs: List[(Int, String)]) = errs.sortBy(_._1).head._2
}
class MyRunTimeException(val errs: List[(Int, String)])
   extends RuntimeException(MyRunTimeException.mostSevere(errs))
object MyRunTimeException {
  def mostSevere(errs: List[(Int, String)]) = errs.sortBy(_._1).head._2
}
class MyRunTimeException(val errs: List[(Int, String)])
   extends RuntimeException(MyRunTimeException.mostSevere(errs))