apex 自定义输出错误信息

4 篇文章 0 订阅
2 篇文章 0 订阅


前提:

在Oracle apex使用中,一般在执行代码错误的时候报错,我们还可能会遇到,在逻辑中处理一些报错信息,想要返回到前端页面中

1. RAISE_APPLICATION_ERROR

代码如下:

----------------------------------自定义错误信息
 RAISE_APPLICATION_ERROR(-20001,'P61 IS_NULL 参数值不正确');

显示结果为:

在这里插入图片描述
注意:

其中,错误代码范围是 -20000 至 -20999,自己定义,
RAISE_APPLICATION_ERROR 一旦自定义错误被抛出,它将立即终止当前的 PL/SQL 块,并返回错误信息给客户端

2. apex_error.add_error

代码如下:

DECLARE
 l_error_message varchar2(200) := '自定义错误信息';
BEGIN
 -- 执行某些操作(例如插入数据)
 INSERT INTO my_table (col1, col2) VALUES ('value1', 'value2');
 
 -- 检查是否有错误
 IF SQL%ROWCOUNT = 0 THEN
   -- 如果出错,则添加自定义错误信息到堆栈中
   apex_error.add_error (
     p_message => l_error_message,
     p_additional_info => '额外的错误信息',
     p_display_location => apex_error.c_inline_with_field_and_notif,
     p_page_item_name => 'P1_MY_PAGE_ITEM'
   );
 END IF;

EXCEPTION
 -- 在异常处理中添加自定义错误信息
 WHEN OTHERS THEN
   apex_error.add_error (
     p_message => l_error_message || ': ' || SQLERRM,
     p_additional_info => '额外的错误信息',
     p_display_location => apex_error.c_inline_with_field_and_notif,
     p_page_item_name => 'P1_MY_PAGE_ITEM'
   );
END;

错误提示类似于这种!
在这里插入图片描述
注意:
apex_error.add_error 被调用时,它会向 APEX 运行时错误堆栈中添加一个新的错误消息,而当前的 PL/SQL 块或事务会继续执行。只有当事务提交或回滚时,错误消息才会被显示给用户。

p_message:

字符串类型。表示要显示的错误消息。
在上述代码示例中,l_error_message 表示自定义的错误消息和 Oracle 引擎抛出的错误消息的组合。字符串类型。

p_additional_info:

字符串类型。表示要显示的有关错误的附加信息。通常,此参数用于提供更具体的上下文或帮助信息。
例如,可以将数据库表名称或其他相关细节添加到此参数中。

p_display_location:

枚举类型。表示错误消息在页面上的显示位置。枚举类型 apex_error.display_location_types 包括以下选项:
		c_not_inline: 不在页面上显示错误消息(默认选项)。
		c_inline_in_notification: 在通知区域内显示错误消息。
		c_inline_with_field: 在错误的字段旁边显示错误消息。
		c_inline_with_field_and_notif: 同时在通知区域和错误的字段旁边显示错误消息。

p_page_item_name::

字符串类型。表示与错误消息相关联的页面项名称(可选)。如果指定了此参数,则错误消息将在该页面项旁边显示。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值