예외 처리 try 구문
try:
<예외 발생가능성이 있는 문장>
except <예외 종류> :
<예외 처리 문장>
except (예외 1, 예외 2):
<예외 처리 문장>
except 예외 as 인자:
<예외 처리 문장>
except :
else:
<예외가 발생하지 않은 경우, 수행할 문장>
finally:
<예외 발생 유무에 상관없이 try 블록 이후 수행할 문장>
|

|
try ~ except ~ else
·
try 블럭 내의 어느 문장에서 에러가 발생하면, except 문으로 이동하고 예외 처리를 할 수 있습니다.
·
else절은 예외가 발생하지 않은 경우에 실행되며 반드시 except절 바로 다음에 위치해야 합니다.
·
except 뒤에 아무것도 쓰지 않았으면 어떤 에러이든 발생하면 해당 except 블럭을 수행하라는 의미입니다.
·
except가 여러 개인 경우는 범위가 보다 좁은 에러타입을 앞에 쓰고 보다 일반적이고 포괄적인 에러타입을 뒤에 작성해 주어야 순차적으로 에러를 캐취할 수 있습니다.
try:
...
except :
# 예외처리
else:
...
finally:
...
|
여러개의 Exception들을 동일한
except 블록으로 처리하고자 할 경우 발생 Expception들을 하나의
except 으로 묶어주면 됩니다.
try:
...
except (예외 1, 예외 2):
# 예외처리
else:
...
finally:
...
|
try ~ finally
·
try문에는 finally절을 사용할 수 있다.
·
finally절은 try문 수행 도중 예외 발생 여부에 상관없이 항상 수행되어 지는 부분입니다.
·
즉, finally 블럭은
try 블럭이 정상적으로 실행되든, 에러가 발생하여 except 블럭이 실행되든 상관없이 항상 마지막에 실행됩니다.
·
보통 finally절은 사용한 자원의 리소스를 정리(close)하기위해 사용되어집니다.
아래와 같은 구조인 경우, finally는 생략 불가
try:
<예외 발생 가능성이 있는 문장>
finally:
<예외와 관계없이, 항상
수행되어야 할 문장>
|
댓글을 달아 주세요