MySQL x Java - 提升异常

时间:2013-05-29 07:21:38

标签: java mysql postgresql exception

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

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

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

1 个答案:

答案 0 :(得分: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'
;