실패할 수 있는 코드와 복구 범위를 구분합니다.
try에는 실제로 실패할 수 있는 최소 범위만 넣고 except에서 예상한 예외를 구체적으로 잡습니다. 예외 객체의 메시지는 원인을 설명하며 처리할 수 없다면 상위 호출자에게 전파합니다.
예제에서 try: ... except ValueError as error: ... 부분부터 찾으세요. 값을 만드는 표현식과 그 값을 다음 문장으로 넘기는 흐름을 한 줄씩 따라가면 실행 결과를 스스로 설명할 수 있습니다.
여러 예외는 각기 다른 안내와 복구가 필요하면 except를 나눕니다. else는 예외가 없을 때, finally는 성공 여부와 무관하게 실행됩니다.
사용자에게는 이해할 수 있는 메시지를 보여주되 내부 로그에는 원래 예외와 문맥을 남겨 원인을 추적할 수 있게 합니다.
이 코드는 브라우저의 실제 Python에서 실행됩니다. 먼저 현재 결과를 확인한 뒤 0으로 나누는 경우도 별도 except로 처리해보세요.
except Exception으로 모든 오류를 잡고 무시하면 프로그래밍 버그까지 숨깁니다.
직접 바꿔보세요0으로 나누는 경우도 별도 except로 처리해보세요.
실행 버튼을 누르면 결과가 여기에 표시됩니다.