Stack Unwinding
In main
, the try
block (lines 8–11) calls method1
(declared at lines 35–38), which in turn calls method2
(declared at lines 41–44), which in turn calls method3
(declared at lines 47–50). Line 49 of method3
throws an Exception
object—this is the throw point. Because the throw
statement at line 49 is not enclosed in a try
block, stack unwinding occurs—method3
terminates at line 49, then returns control to the statement in method2
that invoked method3
(i.e., line 43). Because no try
block encloses line 43, stack unwinding occurs again—method2
terminates at line 43 and returns control to the statement in method1
that invoked method2
(i.e., line 37). Because no try
block encloses line 37, stack unwinding occurs one more time—method1 ...
Get Android™ How to Program, Second Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.