오라클에서 Exception 처리 방법 좀 알려주세요 0 8 2,741

by 미노 [2008.09.12 09:07:25]


pl/sql 하면서 exception도 있다는 것을 알았습니다.

참고로 저는 자바를 좀 배웠더랬습니다. 어쩌다보니 오라클 pl/sql을 배우지만..

그래서 자바와 비교하면서 배우고 있는데요..

자바에서 exception 처리 해주는 것은 상속받아서 처리를 해주던지...(상위로 가도록..) 아니면 try{}catch(){} 블럭으로 그 부분을 처리 해줍니다.

 

근데요...지금 제가 exception을 하면서 본건데...이 pl/sql에서는 defualt 로 처리해주는 것 없습니까? pl/sql에서는 어떤 exception이 나오면 뭘 해라 하는 식이...어떤 조건을 줘야만 하는 거 같아서 이렇게 물어봅니다.

 

자바에서는 try{}catch(){}에서 그냥 Exception 하나만 넣어주면 모든 예외상황의 상위가 Exception이기에 반응을 하거든요...근데 오라클에서 이런 점이 있는지 궁금하여..이렇게 여쭙니닷

또 자바에서의 Exception은 프로그램을 중간에 멈춰버리는게 아니라 그만큼 피해가는 식?! 그러니까 아예 멈추는게 아니라 이런 녀석이 나왔다 고로 처리 해라 식으로 처리가 되는데..

오라클에서는 아예 실행이 않되네용...원래 이렇게 되는 건가요?

by 손님 [2008.09.12 09:31:51]
DB검색란에 'exception' 이란 단어로 검색해 보시면 강좌란에 좋은내용이 많이 있습니다. 함 검색해 보세요~~~~ 거기서 답을 찾으실 수 있습니다.

by 손님 [2008.09.12 09:36:53]
공부해보시면 아시겠지만, 예외처리는 실제로 여러가지로 응용하여 사용될 수 있습니다. 예를들면 숫자 또는 날짜 형식에 맞는지 체크하는 함수를 만들때 예외처리를 응용하면 손쉽게 처리할 수 있습니다.

by 마농 [2008.09.12 09:45:23]
자바에서의 예외처리와 크게 다르지 않다고 생각되네요.
java가 try{} catch{} 라면 pl/sql은 begin exception end;입니다.
자바에서와 마찬가지로 여러가지 예외에 따른 처리를 명시할수 있구요
예외의 종류를 지정하지 않을 수도 있습니다.(OTHERS)
exception
when others then 처리;
end;

by 마농 [2008.09.12 09:48:17]
또한 begin end; 절도 블럭 구조이므로 얼마든지 중첩해서 사용하실 수 있으므로 프로그램 중간 중간에 예외처리가 가능하며 이때 예외상황정도만 화면에 찍던가 변수에 디폴드값을 박아주던가 하고 다음단계로 넘어가는것도 가능합니다.

by 미노 [2008.09.12 09:53:11]
역시 마농님 감사합니다. others라는 것을 지금 봤네요...이거 찾을라고 이거 저것을 다 뒤졌네요...ㅡㅡㅋ 책도 보고...

by 미노 [2008.09.12 09:57:44]
근데 제가 해보려던것은 이런겁니다. 근데 function을 예로 들어서 return은 무조건 있어야 하잖아요..그런데 말이죠...자바에서는 참일때는 그냥 retrurn하도록 만들고 거짓(혹은 exception 발생시..) 일땐 catch(){} 블럭 안에 return을 넣어두도록 할수 있잖아요...근데 이 pl/sql에선 그게 않돼네요..혹 이거 방법을 아세요?

by 마농 [2008.09.12 10:14:00]
됩니다. 방법은 같습니다.

by 미노 [2008.09.12 11:03:24]
아....감사합니다..다시 해봐야겠는데요;;;ㅡㅡㅋ 흠....
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입