We have the following:
(The code is taken from here http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html#printStackTrace())
HighLevelException: MidLevelException: LowLevelException
at Junk.a(Junk.java:14)
at Junk.main(Junk.java:4)
Caused by: MidLevelException: LowLevelException
at Junk.c(Junk.java:24)
at Junk.b(Junk.java:18)
at Junk.a(Junk.java:12)
... 1 more
Caused by: LowLevelException
at Junk.e(Junk.java:31)
at Junk.d(Junk.java:28)
at Junk.c(Junk.java:22)
... 3 more
at Junk.a(Junk.java:14)
at Junk.main(Junk.java:4)
Caused by: MidLevelException: LowLevelException
at Junk.c(Junk.java:24)
at Junk.b(Junk.java:18)
at Junk.a(Junk.java:12)
... 1 more
Caused by: LowLevelException
at Junk.e(Junk.java:31)
at Junk.d(Junk.java:28)
at Junk.c(Junk.java:22)
... 3 more
What does ... 1 more or ... 3 more means?
This is what it means:
HighLevelException: MidLevelException: LowLevelException
at Junk.a(Junk.java:14)
at Junk.main(Junk.java:4)
Caused by: MidLevelException: LowLevelException
at Junk.c(Junk.java:24)
at Junk.b(Junk.java:18)
at Junk.a(Junk.java:12)
... 1 more = (take the last line from the upper stack)
=> at Junk.main(Junk.java:4)
at Junk.a(Junk.java:14)
at Junk.main(Junk.java:4)
Caused by: MidLevelException: LowLevelException
at Junk.c(Junk.java:24)
at Junk.b(Junk.java:18)
at Junk.a(Junk.java:12)
... 1 more = (take the last line from the upper stack)
=> at Junk.main(Junk.java:4)
Caused by: LowLevelException
at Junk.e(Junk.java:31)
at Junk.d(Junk.java:28)
at Junk.c(Junk.java:22)
... 3 more = (take the last 3 lines from the upper stack)
=> at Junk.b(Junk.java:18)
at Junk.a(Junk.java:12)
at Junk.main(Junk.java:4) (taken from the upper upper stack)