File tree Expand file tree Collapse file tree 5 files changed +39
-12
lines changed Expand file tree Collapse file tree 5 files changed +39
-12
lines changed Original file line number Diff line number Diff line change 1- failed
2- Test$.main(i4947.scala:9)
1+ track: Test$.main(i4947.scala:14)
2+ track: Test$.main(i4947.scala:14)
3+ main1: Test$.main(i4947.scala:15)
4+ main2: Test$.main(i4947.scala:16)
Original file line number Diff line number Diff line change 11object Test {
22
3- transparent def track [T ](f : => T ): T = f
3+ transparent def track [T ](f : => T ): T = {
4+ printStack(" track" )
5+ printStack(" track" )
6+ f
7+ }
8+
9+ def printStack (tag : String ): Unit = {
10+ println(tag + " : " + new Exception ().getStackTrace().apply(1 ))
11+ }
412
513 def main (args : Array [String ]): Unit = {
6- try {
7- track {
8- val a = 9
9- throw new Exception (" failed" )
10- }
11- } catch {
12- case ex : Throwable =>
13- println(ex.getMessage)
14- println(ex.getStackTrace.head)
14+ track {
15+ printStack(" main1" )
16+ printStack(" main2" )
1517 }
1618 }
1719
Original file line number Diff line number Diff line change 1+ track: Test$.main(Test_2.scala:3)
2+ track: Test$.main(Test_2.scala:3)
3+ main1: Test$.main(Test_2.scala:4)
4+ main2: Test$.main(Test_2.scala:5)
Original file line number Diff line number Diff line change 1+ object Lib {
2+ transparent def track [T ](f : => T ): T = {
3+ printStack(" track" )
4+ printStack(" track" )
5+ f
6+ }
7+ def printStack (tag : String ): Unit = {
8+ println(tag + " : " + new Exception ().getStackTrace().apply(1 ))
9+ }
10+ }
Original file line number Diff line number Diff line change 1+ object Test {
2+ def main (args : Array [String ]): Unit = {
3+ Lib .track {
4+ Lib .printStack(" main1" )
5+ Lib .printStack(" main2" )
6+ }
7+ }
8+
9+ }
You can’t perform that action at this time.
0 commit comments