Python/Basic & Grammar

[파이썬] 예외처리 try, except

도돔 2023. 8. 7. 22:30

* 스스로 공부한 내용을 바탕으로 작성한 글입니다. 부정확한 부분이나 오류가 있을 수 있으며, 발견 시 댓글로 알려주세요!

 

 


  파이썬 코드를 작성하다 보면 에러를 쉽게 마주칠 수 있다. 하지만, 에러가 발생하면 그 이후의 코드를 아무것도 수행할 수 없기 때문에 번거로운 부분이 있다. 그래서 코드에서 에러가 발생해도 이후의 작업을 수행할 수 있게 하기 위해, 예외 처리로 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문을 다양하게 활용하여 코드 속에 발생하는 에러에 대한 예외처리를 할 수 있다. 

 

참고 링크

728x90
반응형

'Python > Basic & Grammar' 카테고리의 다른 글

[파이썬] 람다(lambda) 함수  (0) 2023.08.08
[파이썬] join 함수  (0) 2023.08.02
[파이썬] 리스트 정렬 - sort & sorted  (0) 2023.07.27