特に、匿名関数がバイトコードに変換されるため、スカラスタックトレースは非常に複雑です。ここでは例です:"より良い"スカラスタックトレース
java.lang.IllegalStateException
at com.company.IdentityVerifier$$anonfun$go$2$$anonfun$apply$2.apply$mcII$sp(IdentityVerifier.scala:19)
at com.company.IdentityVerifier$$anonfun$go$2$$anonfun$apply$2.apply(IdentityVerifier.scala:17)
at com.company.IdentityVerifier$$anonfun$go$2$$anonfun$apply$2.apply(IdentityVerifier.scala:17)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
at scala.collection.immutable.List.foreach(List.scala:318)
at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
at scala.collection.AbstractTraversable.map(Traversable.scala:105)
at com.company.IdentityVerifier$$anonfun$go$2.apply(IdentityVerifier.scala:17)
at com.company.IdentityVerifier$$anonfun$go$2.apply(IdentityVerifier.scala:16)
at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251)
at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251)
at scala.collection.immutable.List.foreach(List.scala:318)
at scala.collection.TraversableLike$class.flatMap(TraversableLike.scala:251)
at scala.collection.AbstractTraversable.flatMap(Traversable.scala:105)
at com.company.IdentityVerifier$.go(IdentityVerifier.scala:16)
at com.company.UserMap.setLastUserId(UserMap.scala:12)
at com.company.UserConsumer.setCurrentUser(UserConsumer.java:69)
at com.company.UserConsumer.consume(UserConsumer.java:64)
at com.company.UserProducer.execute(UserProducer.java:19)
at com.company.UserCreator.execute(UserCreator.java:18)
at com.company.UserCreatorMain$1.run(UserCreatorMain.java:37)
at com.company.UserCreatorMain.main(UserCreatorMain.java:51)
Iました(それはその一例です)stackifierを見つけたが、それはウェブページに貼り付けスタックトレースを維持するために面倒だから。コンソールに「より良い」スタックトレースを印刷する方法はありますか?
スタックトレースはどのように複雑ですか?例外が発生した行が表示されます。 – vptheron
@vptheronスタックトレースのポイントは、例外が発生した行を知るだけでなく、そこにどのように到達したかです。 "複雑な"は主観的です。私には、$$ anonfun $ go $ 2 $$ anonfun $ apply $ 2'は、私に有用な情報を教えてくれませんし、単純な 'flatMap'のトレースも5行もしません。スカラの内部をじっくり見ているのは確かに面白いですが、ほとんどの場合、何が間違っているのか理解しています*。高速。 – goncalopp
技術的には、このScalaスタックトレースの問題は、Scalaスタックトレースではなく、Javaスタックトレースです。しかし、あなたを助けません。 –