Home | Previous Page | Next Page   Creating and Using SPL Routines > Exception Handling >

Scope of Control of an ON EXCEPTION Statement

An ON EXCEPTION statement is valid for the statement block that follows the ON EXCEPTION statement, all the statement blocks nested within the following statement block, and all the statement blocks that follow the ON EXCEPTION statement. It is not valid in the statement block that contains the ON EXCEPTION statement.

The pseudocode in Figure 468 shows where the exception is valid within the routine. That is, if error 201 occurs in any of the indicated blocks, the action labeled a201 occurs.

Figure 468.
CREATE PROCEDURE scope()
  DEFINE i INT;
       . . .
  BEGIN          -- begin statement block A
       . . .
    ON EXCEPTION IN (201)
    -- do action a201
    END EXCEPTION
    BEGIN         -- statement block aa
      -- do action, a201 valid here
    END
    BEGIN         -- statement block bb
      -- do action, a201 valid here
    END  
    WHILE i < 10
      -- do something, a201 is valid here
    END WHILE

  END
  BEGIN           -- begin statement block B
    -- do something
    -- a201 is NOT valid here
  END     
END PROCEDURE; 
Home | [ Top of Page | Previous Page | Next Page | Contents | Index ]