异常结束后继续执行
2013-10-25 11:38
267 查看
当你运行一个过程,例如:
Declear
Begin
DELETE TABLE t_a where .....;
UPDATE t_b set .....;
DELETE TABLE t_c where .....;
Exception
WHEN OTHERS THEN
..............;
End;
如果其中一步发生异常,但我依然想继续执行下面的程序,按照上面的代码是不可能的。只要发生异常程序只会去到 Exception 的块中。
那怎么办呢?
只要你将程序改成:
Declear
Begin
begin
DELETE TABLE t_a where .....;
Exception
WHEN OTHERS THEN
null;
end;
begin
UPDATE t_b set .....;
Exception
WHEN OTHERS THEN
null;
end;
begin
DELETE TABLE t_c where .....;
Exception
WHEN OTHERS THEN
null;
end;
Exception
WHEN OTHERS THEN
..............;
End;
现在就可以实现你想要的程序流程了。
第一步,删除表 t_a 时,如果发生异常,程序就会进入匿名块的异常处理,而且异常处理并不进行任何处理,之后程序将进行 UPDATE t_b 的步骤。
Declear
Begin
DELETE TABLE t_a where .....;
UPDATE t_b set .....;
DELETE TABLE t_c where .....;
Exception
WHEN OTHERS THEN
..............;
End;
如果其中一步发生异常,但我依然想继续执行下面的程序,按照上面的代码是不可能的。只要发生异常程序只会去到 Exception 的块中。
那怎么办呢?
只要你将程序改成:
Declear
Begin
begin
DELETE TABLE t_a where .....;
Exception
WHEN OTHERS THEN
null;
end;
begin
UPDATE t_b set .....;
Exception
WHEN OTHERS THEN
null;
end;
begin
DELETE TABLE t_c where .....;
Exception
WHEN OTHERS THEN
null;
end;
Exception
WHEN OTHERS THEN
..............;
End;
现在就可以实现你想要的程序流程了。
第一步,删除表 t_a 时,如果发生异常,程序就会进入匿名块的异常处理,而且异常处理并不进行任何处理,之后程序将进行 UPDATE t_b 的步骤。
相关文章推荐
- glBlendFunc()混合
- awk 处理文本:行转列,列转行
- libcurl 使用心得
- SDE数据库中的要素类导出到本地文件夹shp文件
- 【Opencv】saturate_cast防止数据溢出
- 近期心得
- 向量射击没有被FDA批准
- Android退出程序
- CORDIC原理与FPGA实现(2)
- 随笔--- 系统时钟与硬件时钟
- spring mvc教程
- centos 6.3 msyql安装配置
- 在SQL查询分析器中执行对SYSOBJECTS 操作的语句时提示:未启用对系统目录的特殊更新等信息
- 再论逻辑地址、线性地址
- 逻辑地址、线性地址、物理地址、虚拟内存
- WWDC2013_218 内容概要 ( 1 )
- 【Javascript】$(function(){})和$(document).ready(function(){}) 疑惑!
- 黑马程序员_源自梦想 java基础知识注意点
- velocity 教程
- Javascript基础 函数“重载”