파이썬 예외처리 과정
- 4번의 구분되는 시점
try
, except
, else
, finally
- 각 블록들을 다양하게 조합하면 유용
finally 블록
- 예외는 전달하고 싶지만, 예외가 발생해도 정리 코드를 실행하고 싶을 때
try
블록이 예외를 일으키건 일으키지 않건 무조건 실행
- 사용 예시: 파일 핸들러를 제대로 종료하는 작업
read
메서드에서 발생한 예외는 항상 호출 코드까지 전달
close
메서드 또한 finally
블록에서 실행되는 것이 보장
- 파일을 열 때 일어나는 예외는
finally
블록에서 처리하지 않아야 하므로 try
블록 앞에서 open
을 호출해야 함
else 블록
- 어떤 예외를 처리하고 어떤 예외를 전달할지를 명확하게 하고 싶을 때:
try
/except
/else
를 사용
try
블록이 예외를 일으키지 않으면 else
블록이 실행
else
블록을 사용하면 try
블록의 코드를 최소로 줄이고 가독성을 높일 수 있음
- 문자열에서
JSON
딕셔너리 데이터를 로드하여 그 안에 든 키 값을 반환하는 예제
모두 함께 사용하기
- 복합문 하나로 모든 것을 처리하고 싶다면
try
/except
/else
/finally
를 사용
- 파일에서 수행할 작업 설명을 읽고 처리한 후 즉석에서 파일을 업데이트하는 예제
Comments