프로그래밍 언어론 · 13강

예외 처리와 이벤트 처리

실행 중에 생긴 비정상적인 일을 프로그램이 어떻게 가로채 처리하는지, 그리고 버튼 누르기 같은 사용자의 동작에 어떻게 응답하는지를 봅니다. 언어 설계자가 정해야 하는 질문을 먼저 보고 C++, 자바, 파이썬, 루비, C#의 답을 9편으로 따라갑니다.

  1. 1예외 처리가 없으면 어떻게 할까?반환 값 검사, 처리할 코드 넘기기, 언어에 들어 있을 때의 이점
  2. 2예외가 나면 실행은 어디로 갈까?예외, 예외 발생, 예외 처리기
  3. 3언어 설계자는 무엇을 정해야 할까?설계 이슈: 처리기의 범위, 바인딩, 재개와 종료, 마무리
  4. 4C++는 처리기를 어떻게 고를까?try, catch, throw와 타입으로 고르는 처리기
  5. 5받아 줄 처리기가 없으면 어디로 갈까?예외 전파, 처리 뒤 이어지는 곳, C++ 방식의 평가
  6. 6자바는 예외를 어떻게 나눌까?Throwable 계층, 검사 예외와 비검사 예외, throws 절
  7. 7무슨 일이 있어도 실행할 코드는 어디에 적을까?finally 절, 단언, 자바 방식의 평가
  8. 8파이썬과 루비는 무엇을 더했을까?예외 클래스 계층, else와 finally, rescue와 ensure, retry
  9. 9버튼을 누르면 누가 알아챌까?이벤트와 이벤트 처리기, 자바의 리스너, C#의 대리자, 13강 정리

내용과 예제는 Robert W. Sebesta의 《Concepts of Programming Languages》 12판 14장을 따랐습니다.