स्कैला स्टैक निशान कुख्यात जटिल हैं, विशेष रूप से अज्ञात कार्यों को बाइटकोड में अनुवाद करने के तरीके के कारण। यहाँ एक उदाहरण है:"बेहतर" स्कैला स्टैक निशान
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)
मैंने बाद पाया stackifier (यह उनकी उदाहरण है), लेकिन यह एक वेबपृष्ठ पर चिपकाने स्टैक ट्रेस रखने के लिए बोझिल है। क्या कंसोल पर "बेहतर" स्टैक निशान मुद्रित करने का कोई तरीका है?
स्टैक ट्रेस जटिल कैसे है? यह आपको उस रेखा को बताता है जहां अपवाद हुआ था। – vptheron
@vptheron एक स्टैक ट्रेस का बिंदु न केवल उस रेखा को जानना है जहां अपवाद हुआ था, लेकिन यह भी * यह कैसे मिला *। "कॉम्प्लेक्स" ज्यादातर व्यक्तिपरक है - मेरे लिए, '$$ anonfun $ $ 2 $$ anonfun $ $ 2 लागू होता है मुझे कोई उपयोगी जानकारी नहीं बताता है, न ही एक साधारण' flatMap' के लिए ट्रेस की 5 लाइनें करता है। हालांकि स्कैला के आंतरिक इलाकों में एक झलक देखना निश्चित रूप से दिलचस्प है, लेकिन ज्यादातर समय मैं समझता हूं कि * क्या गलत हुआ *। फास्ट। – goncalopp
तकनीकी रूप से, इस स्कैला स्टैक ट्रेस के साथ समस्या यह है कि यह एक स्कैला स्टैक ट्रेस नहीं है, यह जावा स्टैक ट्रेस है। हालांकि, आपकी मदद नहीं करता है। –