반응형
예외 처리 블록에서 pl/sql 예외를 다시 발생시키는 방법은 무엇입니까?
일부 응용 프로그램에서 사용하는 절차는 다음과 같습니다.
procedure p1
is
begin
bla bla bla;
end;
그러나 예외 처리 블록은 없습니다.그래서 애플리케이션은 이 기능에 따라 작성되었습니다.
이제 p1에 오류를 기록해야 합니다.그러나 이 절차를 사용하는 응용 프로그램에는 영향을 주지 않습니다.
이와 같은 것:
procedure p1
is
begin
bla bla bla;
exception when others then
log_error(sqlcode, sqlerrm);
raise_new_exception (sqlcode, sqlerrm);
end;
raise_application_error의 경우 첫 번째 매개 변수는 [-20000, -20999] 범위에 있어야 합니다.따라서 예외 no_data_found가 발생하면 이 오류를 발생시킬 수 없습니다.
exception_init인 경우 두 번째 매개 변수는 변수가 아니어야 합니다.숫자 리터럴이어야 합니다.
PS: 임시 솔루션으로 즉시 실행
오류가 그대로 유지되면 다음으로 변경합니다.
...
exception when others then
log_error(sqlcode, sqlerrm);
raise;
end;
/
이에 대한 설명은 설명서에 나와 있습니다.
언급URL : https://stackoverflow.com/questions/14978431/how-to-re-raise-pl-sql-exception-in-exception-handling-block
반응형
'source' 카테고리의 다른 글
C에서 음의 숫자를 이동합니다. (0) | 2023.06.23 |
---|---|
Android 응용 프로그램에서 활동 간에 데이터를 전달하려면 어떻게 해야 합니까? (0) | 2023.06.18 |
sqlx 쓰기: 파이프 손상 (0) | 2023.06.18 |
왜 제가 "반드시 무시당해야 할 무효 가치"를 얻게 되는 걸까요? (0) | 2023.06.18 |
배열의 일부 요소만 일부 값으로 초기화하는 방법은 무엇입니까? (0) | 2023.06.18 |