# Begin generated code .namespace [ 'A' ] .sub 'a' :method .annotate 'file', 'test.winxed' .annotate 'line', 2 # Body # { # predefined say .annotate 'line', 3 say "a" # predefined Error .annotate 'line', 4 root_new $P1, ['parrot';'Exception'] $P1['message'] = "erra" throw $P1 .annotate 'line', 5 .return(0) # } .annotate 'line', 6 .end # a .sub Winxed_class_init :anon :load :init newclass $P0, [ 'A' ] .end .namespace [ ] .sub 'b' .annotate 'line', 9 # Body # { # predefined say .annotate 'line', 10 say "b" # predefined Error .annotate 'line', 11 root_new $P1, ['parrot';'Exception'] $P1['message'] = "errb" throw $P1 .annotate 'line', 12 .return(0) # } .annotate 'line', 13 .end # b .sub 'main' :main .param pmc __ARG_1 .annotate 'line', 15 # Body # { .annotate 'line', 16 # try: create handler new $P2, 'ExceptionHandler' set_label $P2, __label_0 push_eh $P2 # try: begin # { .annotate 'line', 17 $P3 = __ARG_1[1] if_null $P3, __label_2 unless $P3 goto __label_2 .annotate 'line', 18 new $P4, [ 'A' ] .tailcall $P4.'a'() goto __label_3 __label_2: # else .annotate 'line', 20 .tailcall 'b'() __label_3: # endif # } # try: end pop_eh goto __label_1 .annotate 'line', 16 # catch __label_0: .get_results($P1) finalize $P1 pop_eh # { # predefined say .annotate 'line', 22 say "caught exception" # } # catch end __label_1: # } .annotate 'line', 24 .end # main # End generated code