1. 학습
  2. /
  3. 강의
  4. /
  5. Python 객체 지향 프로그래밍 입문

Connected

연습 문제

예외 잡기

사용자 지정 예외를 직접 작성하기 전에, 먼저 예외 처리의 기초를 확실히 다져 봅시다.

이 연습 문제에서는 두 개의 인수, 리스트 x와 인덱스 ind를 받아 해당 인덱스의 리스트 요소를 뒤집는(역수로 만드는) 함수 invert_at_index(x, ind)가 주어집니다. 예를 들어 invert_at_index([5,6,7], 0)은 1/5, 즉 0.2를 반환합니다.

목표는 발생한 오류의 유형에 따라 사용자 지정 예외를 발생시키는 대신, 해당 오류를 잡아 처리하는 에러 핸들링을 구현하는 것입니다.

지침

100 XP

함수 내부에 try - except - except 패턴(두 개의 except 블록)을 사용해 다음 두 가지 예외를 잡아 처리하세요.

  • try에서는 코드를 있는 그대로 실행해 1/x[ind]를 반환합니다.
  • ZeroDivisionError가 발생하면 "Cannot divide by zero!"를 출력합니다.
  • IndexError가 발생하면 "Index out of range!"를 출력합니다.

코드가 오류 없이 실행되고 콘솔 출력이 다음과 같으면 정답입니다.

0.16666666666666666
Cannot divide by zero!
None
Index out of range!
None