파이썬에서 예외 처리하기

파이썬은 다른 프로그래밍 언어에 비해 예외를 발생시키는 상황이 매우 많습니다.

자세히 살펴보겠습니다. 다음과 같은 리스트가 있다고 가정해 보겠습니다:

pythonlst = [1, 2, 3]

리스트에 존재하지 않는 요소에 접근해 봅시다:

pythonprint(lst[4])

코드를 실행한 후 다음과 같은 오류(예외)가 출력됩니다:

errorIndexError: list index out of range

하지만 예외를 출력하지 않고 작업을 계속하려면 try-except 구문을 사용하여 예외를 잡아야 합니다. 구문은 다음과 같습니다:

pythontry:
  # 예외를 발생시킬 수 있는 코드
except:
  # 오류 처리

try 블록에는 예외가 포함될 수 있는 코드를 배치해야 합니다. 만약 이 코드를 실행하는 동안 예외 상황이 발생하면 코드 실행이 중단되지 않고 except 블록의 코드로 이동합니다. 이 블록에서는 발생한 오류의 본질을 가능한 한 정확하게 설명하는 메시지를 출력하는 코드를 작성해야 합니다.

반면에 try 블록을 실행하는 동안 예외 상황이 전혀 발생하지 않으면 유용한 코드만 실행되고 except 블록의 코드는 실행되지 않습니다.

리스트에 존재하지 않는 요소에 접근할 때 발생하는 예외를 잡아봅시다. 이를 위해 try 블록에 잠재적 오류가 있는 코드를 배치합니다. 그리고 except 블록에는 콘솔에 'error: elem is not exist' 메시지를 출력하도록 지정합니다:

pythonlst = [1, 2, 3]
try:
  print(lst[4])
except:
  print('error: elem is not exist')

코드를 실행한 후 다음과 같이 출력됩니다:

python'error: elem is not exist'

try-except 구문을 학습한 후 작성하는 코드 스타일이 바뀌어야 합니다. 이제 예외 상황이 발생할 수 있는 모든 부분을 try로 감싸고, except 블록에 해당 예외에 대한 반응을 작성해야 합니다.

Задание 1

사용자에게 두 개의 숫자를 입력받으세요. 하나를 다른 하나로 나누세요. 영으로 나누는 예외 상황을 처리하세요.

Задание 2

사용자에게 숫자를 입력받으세요. 해당 숫자의 제곱근을 구하세요. 음수의 제곱근을 구하는 예외 상황을 처리하세요.

Задание 3

리스트가 주어졌습니다. 사용자에게 정수를 입력받으세요. 사용자가 입력한 번호에 해당하는 리스트 요소를 가져오세요. 사용자가 리스트 범위를 벗어난 숫자를 입력했을 때 발생하는 예외 상황을 처리하세요.

Задание 4

다음 코드가 주어졌습니다:

pythonnum = '5'
res = num + 2

print(res)

이 코드의 문제점은 무엇입니까? 그 결함을 수정하세요.

Задание 5

다음 코드가 주어졌습니다:

pythonlst = [1, 2, 3, 4]

def getElem(iter):
  print(iter[4])

getElem(lst)

이 코드의 문제점은 무엇입니까? 그 결함을 수정하세요.