UTL_FILE にて定義されている例外
| 例外名 UTL_FILE.* | SQLCODE | 概要 |
| INVALID_PATH | ORA-29280 | ファイルのパスが正しくない ⇒ ORA-29280 対処法 |
| INVALID_MODE | ORA-29281 | FOPEN の open_mode パラメータが無効 |
| INVALID_FILEHANDLE | ORA-29282 | ファイルハンドルが無効 |
| INVALID_OPERATION | ORA-29283 | ファイルをオープンできないか操作に失敗した |
| READ_ERROR | ORA-29284 | 読込み中に OS エラーが発生した |
| WRITE_ERROR | ORA-29285 | 書込み中に OS エラーが発生した |
| INTERNAL_ERROR | ORA-29286 | 内部エラー |
| INVALID_MAXLINESIZE | ORA-29287 | FOPEN のサイズは 1 〜 32767 バイトまで |
| INVALID_FILENAME | ORA-29288 | ファイル名が正しくない |
| ACCESS_DENIED | ORA-29289 | ファイルアクセス権限がない |
| INVALID_OFFSET | ORA-29290 | FSEEK のファイルオフセットが無効な値 |
| DELETE_FAILED | ORA-29291 | ファイルの削除に失敗した |
| RENAME_FAILED | ORA-29292 | ファイル名の変更に失敗した |
| CHARSETMISMATCH | ORA-29298 | オープン時の文字セットと呼び出した読み書き関数が不一致 |
| FILE_OPEN | - | 既にオープン済のために操作に失敗した |
UTL_FILE で発生する事前定義例外
| 例外名 | SQLCODE | 概要 |
| NO_DATA_FOUND | +100 (-01403) | ファイルの終端に達している |
| VALUE_ERROR | ORA-06502 | 読み込みバッファサイズが読み込みに十分なサイズがない |
例外処理の例
例外名の前には UTL_FILE で宣言されていることをあわらす UTL_FILE.INVALID_PATH などのように記述する。
BEGIN
...
EXCEPTION
-- エラーハンドリング
WHEN UTL_FILE.INVALID_PATH OR
UTL_FILE.INVALID_MODE OR
UTL_FILE.INVALID_MAXLINESIZE THEN
-- handleErrors
WHEN ... THEN
...
WHEN OTHERS THEN
...
END;
UTL_FILE パッケージ 関連事項