* 스스로 공부한 내용을 바탕으로 작성한 글입니다. 부정확한 부분이나 오류가 있을 수 있으며, 발견 시 댓글로 알려주세요!
파이썬 코드를 작성하다 보면 에러를 쉽게 마주칠 수 있다. 하지만, 에러가 발생하면 그 이후의 코드를 아무것도 수행할 수 없기 때문에 번거로운 부분이 있다. 그래서 코드에서 에러가 발생해도 이후의 작업을 수행할 수 있게 하기 위해, 예외 처리로 try, except문을 사용할 수 있다.
예외란?
문장이나 표현식이 올바르지 않을 때는 문법 에러가 발생되고, 이는 코드를 실행했을 때 출력단에서 에러가 난 코드의 위치와 에러를 알려주기도 한다. 하지만 이런 문법 에러가 없을 때도 에러가 일어날 때도 있다. 이렇게 코드를 실행했을 때 감지되는 여러 가지 에러를 예외라고 칭한다. 이런 예외의 대표적인 종류로는 ZeroDivisionError(0으로 나누는 연산을 진행했을 때 발생하는 에러), NameError(변수의 이름에 대해 발생하는 에러. 오타나 변수 선언되지 않음 등등의 원인이 있다), TypeError(코드 내의 타입 관련 에러)가 있다.
1. try-except 문
이런 예외들을 선택적으로 처리할 수 있는 방법이 있다. 가장 기본적인 사용법은, 수행하고자 하는 코드는 try에 넣고, 예외가 발생하게 되었을 때 수행할 코드는 except 문 뒤에 넣는다.
try:
실행할 코드
except:
예외가 발생했을 때 실행하는 코드
try 하나에 except를 여러개 사용할 수도 있다. except를 여러 개 사용하게 될 때에는 각 예외에 대해 알맞게 동작할 수 있도록 조건을 명시해주어야 한다. 또한 except 뒤에 as 변수이름으로 짓게 되면, 출력단에서 해당 변수 이름을 함께 출력해 줄 수 있다.
try:
실행할 코드
except A:
예외 A가 발생했을 때 실행하는 코드
except B:
예외 B가 발생했을 때 실행하는 코드
except C as c:
예외 C가 발생했을 때 실행하는 코드
2. try-finally 문
try문에는 finally절을 사용할 수도 있다. 이 finally절은 try문을 수행했을 때 예외 발생 여부에 상관없이 항상 수행된다는 특징이 있다.
try:
실행할 코드
except A:
예외 A가 발생했을 때 실행하는 코드
finally:
반드시 실행되는 코드
3. try-else문
조건문에서 사용하는 else절을 try문에서도 사용할 수 있다. try문에 except와 else를 모두 사용하였을 때, 오류가 발생하면 except절이, 오류가 발생하지 않으면 else절이 수행된다.
try:
실행할 코드
except:
예외가 발생했을 때 실행하는 코드
else:
예외가 발생하지 않았을 때 실행하는 코드
이렇게 try문을 다양하게 활용하여 코드 속에 발생하는 에러에 대한 예외처리를 할 수 있다.
참고 링크
8. Errors and Exceptions
Until now error messages haven’t been more than mentioned, but if you have tried out the examples you have probably seen some. There are (at least) two distinguishable kinds of errors: syntax error...
docs.python.org
파이썬 코딩 도장: 38.1 try except로 사용하기
Unit 38. 예외 처리 사용하기 예외(exception)란 코드를 실행하는 중에 발생한 에러를 뜻합니다. 다음과 같이 10을 어떤 값으로 나누는 함수 ten_div가 있을 때 인수에 따라 정상으로 동작하기도 하고 에
dojang.io
'Python > Basic & Grammar' 카테고리의 다른 글
[파이썬] 람다(lambda) 함수 (0) | 2023.08.08 |
---|---|
[파이썬] join 함수 (0) | 2023.08.02 |
[파이썬] 리스트 정렬 - sort & sorted (0) | 2023.07.27 |