RAISE_APPLICATION_ERROR内建函数用于抛出一个异常并给异常赋予一个错误号以及错误信息。自定义异常的缺省错误号是+1,缺省信息是User_Defined_Exception。来自未处理的异常的一般信息对于识别导致错误的原因没有帮助,RAISE_APPLICATION_ERROR函数能够在pl/sql程序块的执行部分和异常部分调用,显式抛出带特殊错误号的命名异常。RAISE_APPLICATION_ERROR(error_name,error_message[,{TRUE|| FALSE}]);   错误号的范围是-20,000到-20,999。错误信息是文本字符串,最多为2048字节。TRUE和FALSE表示是添加(TRUE)进错误堆(ERROR STACK)还是覆盖(overwrite)错误堆(FALSE)。缺省情况下是FALSE。IF product_not_found THEN
  RAISE_APPLICATION_ERROR(-20123,'Invald product code' TRUE);
END IF;