0
私のプログラムに2つのネストされたブロックがあります。最初のネストされたブロックでエラーが発生すると、プログラムはそれ以上実行されず、例外セクションに進み、プログラム全体を終了します。 しかし私は自分のプログラムを終了したくありません。私のプログラムは、2番目のネストしたブロックに対して実行する必要があります。さらに、1番目のネストされたブロックでも例外が発生します。私はこのようなプログラムがある場合はネストされたブロックで例外をスキップする方法
は:私のプログラムのinner1ブロックに
DECLARE
var_out VARCHAR2(10):= 'OUTER';
BEGIN
<<INNER1>>
DECLARE
var_in1 NUMBER:='INNER 1';
BEGIN
DBMS_OUTPUT.PUT_LINE(var_in1);
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(SQLERRM);
END;
<<INNER2>>
DECLARE
var_in2 VARCHAR2(10):='INNER 2';
BEGIN
DBMS_OUTPUT.PUT_LINE(var_in2);
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(SQLERRM);
END;
DBMS_OUTPUT.PUT_LINE(var_out);
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(SQLERRM);
END;
をので、全体的なプログラムが実行されませんvalue error exception
がスローされます。
inner1ブロックで発生した例外でさえ、inner2とouterブロックをどのように実行しますか?
ありがとう@ウィリアム。一部の非識字人は私の質問に投票して、PL/SQLでは不可能だと言いました。 –