반응형
파이썬에서는 코틀린과 유사하게 try ~ except를 사용해서 예외 처리를 할 수 있습니다.
다음과 같은 방법으로 파이썬에서 예외 처리를 할 수 있습니다.
파이썬에서 예외 처리 하는 방법
예를 들어 다음과 같은 코드가 있다고 생각하겠습니다.
class ExceptExample:
def make_error(self):
# 에러가 발생하는 부분
return int(5345 / 0)
if __name__ == "__main__":
error_example = ExceptExample()
error_example.make_error()
정수형 변수를 0으로 나누려고 하기 때문에 에러가 발생합니다.
여기서 유심히 봐야 할 것은 에러의 종류(ZeroDevisionError)가 같이 출력된다는 것입니다.
그럼 다음과 같이 try ~ except를 사용해서 에러를 피해보겠습니다.
기본적인 try ~ except 사용 방법
class ExceptExample:
def make_error(self):
try:
return int(5345 / 0)
except ZeroDivisionError:
print("에러 발생")
if __name__ == "__main__":
error_example = ExceptExample()
error_example.make_error()
그럼 다음과 같이 출력됩니다.
except 다음에 에러 종류를 지정하면(위 코드에선 ZeroDivisionError) 해당 에러에 대해 에러 처리를 다르게 할 수 있습니다.
except에서 에러 종류를 지정하기
다음과 같이 각 종 에러에 대해 다른 에러 처리를 할 수 있습니다.
class ExceptExample:
def make_error(self):
try:
return int(5345 / 0)
except ZeroDivisionError:
print("0으로 나누려고 했음")
except ValueError:
print("다른 에러 발생")
except:
print("알 수 없는 에러 발생")
if __name__ == "__main__":
error_example = ExceptExample()
error_example.make_error()
또한 finally을 사용하면 에러 발생 유무와 상관없이 모든 과정이 끝난 후 동일한 행동을 실시할 수 있습니다.
finally 사용 방법
finally는 다음과 같이 동작합니다.
class ExceptExample:
def make_error(self):
try:
print(int(5345 / 0))
except ZeroDivisionError:
print("0으로 나누려고 했음")
except ValueError:
print("다른 에러 발생")
except:
print("알 수 없는 에러 발생")
finally:
print("에러 처리 끝")
if __name__ == "__main__":
error_example = ExceptExample()
error_example.make_error()
finally에 오는 코드는 에러 발생 유무와 관계없이 실행됩니다.
반응형
'파이썬(Python) > 파이썬 지식' 카테고리의 다른 글
파이썬에서 메서드(함수) 오버라이드(override) (0) | 2023.11.15 |
---|---|
파이썬 클래스에 대한 모든 것 __init__, __call__, 상속 (1) | 2023.11.14 |
파이썬의 모듈에 대한 모든 것 feat. __name__?, __init__? (1) | 2023.11.02 |
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
댓글