MySQL异常捕获简单示例

Posted wzy0623

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL异常捕获简单示例相关的知识,希望对你有一定的参考价值。

create table tbl1 (a int primary key);

create table error_log (
    id bigint(20) not null auto_increment,
    error_code varchar(50) default null,
    error_message varchar(500) default null,
    routine_name varchar(50) default null,
    create_time timestamp null default current_timestamp,
    primary key (id),
    key idx_routine_name (routine_name),
    key idx_create_time (create_time)
);

delimiter //
create procedure p_test (pa int)
begin
    declare exit handler for sqlexception
    begin
        get diagnostics condition 1
        @o_error_code = returned_sqlstate, @o_error_msg = message_text;
        insert into error_log (error_code, error_message, routine_name) values (@o_error_code, @o_error_msg, 'p_test');
    end;
    insert into tbl1 values(pa);
end;
//

delimiter ;
call p_test(1);
call p_test(1);
select * from tbl1;
select * from error_log;

调用结果:

 

以上是关于MySQL异常捕获简单示例的主要内容,如果未能解决你的问题,请参考以下文章

JAVA捕获MYSQL主键冲突异常 示例如Exception ex 对应的异常 如何捕获,只要捕获,求满意答案

Pyhton 异常

SpringBoot全局捕获异常示例

为啥在这个多线程示例中没有捕获到异常?

Android MySQL 异常错误

Kotlin 协程协程异常处理 ③ ( 协程异常处理器 CoroutineExceptionHandler 捕获异常 | 验证 CoroutineScope 协程的异常捕捉示例 )