2.45. Static exception handling using goto

Non local gotos are very useful for another form of exception handling. Consider the following example:
Start felix section to tut/tutorial/tut-1.45-0.flx[1 /1 ]
     1: #line 4386 "./lpsrc/flx_tutorial.pak"
     2: //Check exceptions
     3: #import <flx.flxh>
     4: 
     5: proc main
     6: {
     7:   // do something
     8: 
     9:   // raise err1
    10:   err 1; goto resume;
    11: 
    12:   // do something else
    13: 
    14:   // exception handlers
    15:   proc err(errno:int)
    16:   {
    17:     print "error "; print errno;
    18:     print " -- aborting"; endl;
    19:     goto resume;
    20:   }
    21: resume:>
    22:   print "error handled, continuing"; endl;
    23: }
    24: 
    25: main;
End felix section to tut/tutorial/tut-1.45-0.flx[1]
Start data section to tut/tutorial/tut-1.45-0.expect[1 /1 ]
     1: error 1 -- aborting
     2: error handled, continuing
End data section to tut/tutorial/tut-1.45-0.expect[1]