Procedure의 종료
- return (정상), goto
- overflow, underflow, range error -> system interrupt
- EOF 등 예외조건 (예상 가능한 조건)
예외 조건 제어 불가능 언어 : 오류 시 약속된 값을 반환 (Programmer가 매번 check) , 오류 처리 루틴으로 즉시 제어 이동(정상 제어를 파괴)
예외 조건 제어 가능 언어 : 사용자가 제어 가능
- PL/I : 최초 제공 언어
- Mesa, CLU, Ada, C++, Java : 우아한 방법 제공
예외 처리
1) 프로시저들 사이의 정보 교환
2) 예외는 오류가 아님
3) 초기 예외 처리 : H/W interrupt routine을 사용 , system에서 제공 (처리 루틴)
4) 고려사항 :
-어떤 프로시저가 발생된 예외를 처리할 것인가? ,
-예외 처리 후에 예외 발생 프로시저의 활성화 지속 여부,
-System interrupt 접근 방법이 제공되었는가?
-System interrupt를 사용자가 새로 정의하여 우선 시킬 수 있는가?
-사용자 정의 예외가 가능한가? 이 예외를 어떻게 발생시키는가?
-가능 예외(enable exception)의 영역 규칙은 무엇인가?
-예외 처리(exception handler)의 영역은 어디인가?
-예외를 발생시킨 프로시저를 실행 재개시키는가 종결시키는가?
-발생된 예외의 전파(propagation)는 어떻게 되는가?
-한 예외에 매개 변수를 사용하여 다양화 시킬 수 있는가?
-(예기치 않았던) 모든 예외를 한번에 자동 처리할 수 있는가?
-예외 처리 루틴에서 예외를 발생 시킬 수 있는가? 이 때 후속 처리는?
728x90
'CS(Computer Science) > 프로그래밍언어' 카테고리의 다른 글
프로그래밍 언어 총정리 (0) | 2023.06.07 |
---|---|
14. 객체지향 프로그래밍 (0) | 2023.06.07 |
11. 추상 자료형 (0) | 2023.06.04 |
10장 부 프로그램 (0) | 2023.06.04 |
9장 요약 (0) | 2023.06.04 |