用户生成的异常

您可使用 RAISE EXCEPTION 语句生成您自己的错误,如下图所示。

图: RAISE EXCEPTION 语句。

BEGIN
          ON EXCEPTION SET esql, eisam   -- 捕获所有错误
          IF esql = -206 THEN          -- 未找到表
          -- 某种恢复
          ELSE
          RAISE exception esql, eisam;  -- 放过该错误
          END IF
          END EXCEPTION
          -- 执行某操作
          END

在该示例中,ON EXCEPTION 语句使用两个变量 esqleisam,来保存数据库服务器返回的错误编号。如果发生错误且如果 SQL 错误编号为 -206,则执行 IF 子句。如果捕获任何其他 SQL 错误,则将它从此 BEGINEND 块传至前面的示例的最后 BEGINEND 块。