Oracleはどのようにユーザー定義の例外を投げますか?

Oracleでは、`RAISE`ステートメントを使用してカスタム例外をスローすることができます。カスタム例外をスローする方法は次の通りです:まず、データベースで例外を定義する必要があります。

CREATE OR REPLACE EXCEPTION custom_exception_name

[PRAGMA EXCEPTION_INIT (exception_name, -error_code)];


`custom_exception_name`は、カスタム例外の名前であり、必要に応じて命名できます。例外を初期化するために`PRAGMA EXCEPTION_INIT`を使用し、例外コード(`error_code`)を指定できます。2. 例外をスローする必要がある場所で`RAISE`ステートメントを使用します。

RAISE custom_exception_name;

例えば、例外が発生した際に例外メッセージを指定することもできます。

RAISE_APPLICATION_ERROR(error_code, 'error_message');

error_code はエラーコードであり、error_message はエラーメッセージです。次は、例外の作成を例示した完全な例です。

CREATE OR REPLACE EXCEPTION custom_exception

PRAGMA EXCEPTION_INIT (custom_exception, -20001);


ストアドプロシージャを作成する

CREATE OR REPLACE PROCEDURE custom_exception_example

IS

BEGIN

— 抛出异常

RAISE custom_exception;

EXCEPTION

WHEN custom_exception THEN

— 处理异常

DBMS_OUTPUT.PUT_LINE(‘Custom Exception Raised’);

END;


上記の例では、`custom_exception_example`というストアドプロシージャを呼び出すと、`custom_exception`というカスタム例外がスローされます。その後、例外処理部分でその例外を処理します。

bannerAds