예외처리 .py

이리·2022년 5월 31일

오류의 종류

오류의 종류는 크게 두가지로 나뉜다. 실행 전 발생하는 '구문오류'와 실행 중 발생하는 '예외' 또는 '런타임오류' 이다. 구문 오류는 보통 아래와 같은 문구를 보인고

SyntaxError: EOL while scanning string lilteral

예외나 런타임 오류와 같은 경우 보통 여러가지 문제들이 있겠지만 아래와 같은 문구를 내보낸다.

NameError: name 'list_a' is not defined

이러한 오류들을 해결하는 것을 <예외처리> 라 부르며 예외 처리하는 방법은 다시 조건문을 이용하는 방법 (기본 예외처리)과 try 구문을 사용하는 방법 ( ) 두가지로 나뉜다.
조건문을 이용한 예외처리의 경우 발생가능한 상황을 예측하고 모두 조건문으로 처리하는 것을 말한다. 하지만, 모든 상황을 예측하고 조건문으로 옮길수는 없기에 'try except구문'을 이용하여 예외처리하는 방법이 생겼다.

try except 구문

try :
	예외가 발생할 수 있는 코드
    
except :
	예외가 발생했을 때 실행할 코드

예외가 발생할 가능성이 있는 코드를 모두 try 구문안에 넣고 예외가 발생했을때 실행할 코드를 모두 except 구문 안에 넣으면된다.

예외구분하기

파이썬의 경우 except 구문 뒤에 예외의 종류를 입력해서 예외를 구분할 수 있다. 예외 구문의 경우 ValueError 와 IndexError 등이 있다.

try :
	예외가 발생할 가능성이 있는 구문
    
except 예외의 종류 A :
	예외 A 가 발생했을때 실행할 구문 
    
except 예외의 종류 B :
	예외 B 가 발생했을때 실행할 구문 
    
except 예외의 종류 C :
	예외 C 가 발생했을때 실행할 구문 
    

++ try except else 구문
try except else 구문을 사용하면 기존의 try except 구문에 '예외가 발생하지 않았을때 실행할 코드'를 추가할수 있다.

try :
	예외가 발생할 수 있는 코드
    
except :
	예외가 발생했을 때 실행할 코드

else :
	예외가 발생하지 않았을때 실행할 코드 

+++ finally 구문
finally 구문을 사용하면 '무조건 실행할 코드'를 추가할수있다!

try :
	예외가 발생할 수 있는 코드
    
except :
	예외가 발생했을 때 실행할 코드

else :
	예외가 발생하지 않았을때 실행할 코드 
   
finally :
	무조건 실행할 코드

0개의 댓글