Try, catch 문
try : ... except [ 발생 오류 [ as 오류 메시지 변수 ] ]: .... |
try 블록 수행 중 오류가 발생하면 except 블록이 실행된다. 하지만 try 블록에서 오류가 발생하지 않는다면 except 블록은 수행되지 않는다.
except에는 추가로 발생 오류를 제한할 수 있는 방식과 발생 오류와 오류메시지 변수까지 포함하여 실행할 수 있다.
또한 except문은 단일로 선언하는 것 뿐만아니라 다중으로 선언하여서 각 발생 오류에 대해서 개별적으로 처리가 가능하다.
동일한 처리를 2개 이상의 발생 오류에 대해서 except문을 사용하는 경우에는 인자값으로 써 넣어주면 함께 처리가 가능하다
(ex) Try: 4 / 0 except ZeroDivisionError as e: print(e) except (IndexError , StackOverflow) print('힝') => 결과값 : divison by zero |
Try .. finally
try문에는 finally절을 사용할 수 있다. finally문은 try문 수행 완료 후 항상 수행된다. 보통의 경우 사용한 리소스를 반납할 때 많이 사용한다.
다음 예를 보자.
f = open ( 'foo.txt' , w ) try : ... finally f.close() |
Try문에 else절 사용
Try: ... except ZeroDivisionError as e: .. 오류 발생 시 실행 else: .. 오류가 없는 경우 실행 |
오류 회피 & 발생
반응형