有没有办法使用try/catch在Scala中打印完整的错误消息?
我根本不是scala大师,我遇到了一个问题。我在做for循环,循环中有一些错误。有更多类型的消息,这就是为什么我想打印出每个错误消息。我尝试使用以下代码:有没有办法使用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
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时,只考虑它是否被切断。我记得我过去使用的一些记录器,必须有一种特殊的格式才能正确打印。我想是游戏玩家