【问题标题】:MySQL x Java - Raising ExceptionMySQL x Java - 引发异常
【发布时间】:2013-05-29 07:21:38
【问题描述】:

这几天我一直在学习 MySQL。以前,我使用 PostgreSQL 进行开发。也许我错过了一些东西,并且无法在 SO 中找到正确的教程或问题。如果这是重复的,请随时提供链接。

我会直奔主题,我的问题是:
-这是直接从我的程序复制的PostgreSQL中编写的,在MySQL中有类似的东西吗? (不要介意字符串)。

EXCEPTION
    WHEN OTHERS THEN
        RAISE EXCEPTION 'app_get_rpt_doctor_signature_all(text) %',
            'OTHERS ' || SQLERRM;

【问题讨论】:

    标签: java mysql postgresql exception


    【解决方案1】:

    您可以DECLARE ... HANDLER 捕获异常,并且从 MySQL v5.5 开始,您可以SIGNALRESIGNAL 分别引发/传递现有异常;在这些语句中,可以SET MESSAGE_TEXT 指定自定义消息,但遗憾的是无法访问现有(已处理)异常的消息文本。

    因此,你可以这样做:

    DECLARE EXIT HANDLER FOR SQLEXCEPTION
      SIGNAL SQLSTATE '45000'
      SET MESSAGE_TEXT := 'app_get_rpt_doctor_signature_all(text) OTHERS'
    ;
    

    RESIGNAL,消息不变:

    DECLARE EXIT HANDLER FOR SQLEXCEPTION
      RESIGNAL SQLSTATE '45000'
    ;
    

    【讨论】:

    • 您好,感谢您的回复。这就是我一直在寻找的。干杯;)
    猜你喜欢
    • 2023-03-30
    • 1970-01-01
    • 2012-03-21
    • 2023-04-03
    • 1970-01-01
    • 2021-03-23
    • 2014-10-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多