有没有办法使用try/catch在Scala中打印完整的错误消息?

有没有办法使用try/catch在Scala中打印完整的错误消息?,scala,apache-spark,try-catch,Scala,Apache Spark,Try Catch,我根本不是scala大师,我遇到了一个问题。我在做for循环,循环中有一些错误。有更多类型的消息,这就是为什么我想打印出每个错误消息。我尝试使用以下代码: try{ //my code }catch{ case t: Throwable => t.printStackTrace() println(t) } 对于主错误消息,它可以正常工作,但是如果发生错误,我想打印完整的消息 e、 g: 我只得到了这个: org.apache.spark.SparkException

我根本不是scala大师,我遇到了一个问题。我在做for循环,循环中有一些错误。有更多类型的消息,这就是为什么我想打印出每个错误消息。我尝试使用以下代码:

try{

//my code

}catch{
    case t: Throwable => t.printStackTrace()
    println(t)
}
对于主错误消息,它可以正常工作,但是如果发生错误,我想打印完整的消息

e、 g: 我只得到了这个:

org.apache.spark.SparkException: Job aborted.
试试这个:

  Try {
    None.get
  } match {
    case Success(value) => println(value) //do something else with value

    case Failure(exception) => exception.printStackTrace()
  }

这应该是可行的。

可以通过System.out完成:


case t:Throwable=>t.printStackTrace(System.out)

改用Try match,如果失败,则执行t.printStackTrace()语法即可,不需要
println(t)
t.printStackTrace
将在stdoutwi上打印错误消息,而
println(t)
没有代码输出。输出是相同的。我只收到主要消息,没有收到全部异常。这就是你收到的全部消息,这就是你的方式。getStackTrace?@GamingFelix内部printstackTrace调用getStackTrace时,只考虑它是否被切断。我记得我过去使用的一些记录器,必须有一种特殊的格式才能正确打印。我想是游戏玩家