### 13.6.7 条件处理

[13.6.7.1 DECLARE ... CONDITION 语句](declare-condition.html)
[13.6.7.2 DECLARE ... HANDLER 语句](declare-handler.html)
[13.6.7.3 GET DIAGNOSTICS 语句](get-diagnostics.html)
[13.6.7.4 RESIGNAL 声明](resignal.html)
[13.6.7.5 信号声明](signal.html)
[13.6.7.6 处理程序的范围规则](handler-scope.html)
[13.6.7.7 MySQL 诊断区](diagnostics-area.html)
[13.6.7.8 条件处理和 OUT 或 INOUT 参数](conditions-and-parameters.html)

在存储程序执行期间可能会出现需要特殊处理的情况，例如退出当前程序块或继续执行。可以为一般条件（例如警告或异常）或特定条件（例如特定错误代码）定义处理程序。可以为特定条件分配名称并在处理程序中以这种方式引用。

要命名条件，请使用[`声明...条件`](declare-condition.html)陈述。要声明处理程序，请使用[`声明...处理程序`](declare-handler.html)陈述。看[第 13.6.7.1 节，“DECLARE ... CONDITION 语句”](declare-condition.html)， 和[第 13.6.7.2 节，“DECLARE ... HANDLER 语句”](declare-handler.html).有关在条件发生时服务器如何选择处理程序的信息，请参阅[第 13.6.7.6 节，“处理程序的范围规则”](handler-scope.html).

要提出条件，请使用[`信号`](signal.html)陈述。要修改条件处理程序中的条件信息，请使用[`重新信号`](resignal.html).看[第 13.6.7.1 节，“DECLARE ... CONDITION 语句”](declare-condition.html)， 和[第 13.6.7.2 节，“DECLARE ... HANDLER 语句”](declare-handler.html).

要从诊断区域检索信息，请使用[`得到诊断`](get-diagnostics.html)声明（见[第 13.6.7.3 节，“获取诊断声明”](get-diagnostics.html)）。有关诊断区域的信息，请参阅[第 13.6.7.7 节，“MySQL 诊断区域”](diagnostics-area.html).
