python (예외처리)

윤로그·2023년 11월 20일

오류가 발생하는 원인

  • 존재하지 않는 파일을 읽으려 할 때

  • 숫자를 0으로 나누려 할 때
    print( 10 / 0 )

  • 숫자로 변경할 수 없는 문자를 숫자로 변경하려 할 때

  • 시퀀스의 인덱스 범위가 벗어 났을 때

예외처리 방법

  • 예외가 발생할 가능성이 높은 코드는 예외를 따로 처리해 주어야 한다.
  • try -except - else -finally

try에 에러가 실행이 안 하면 else를 실행
finally 오류가 나든 안나든 finally를 실행해라.

try:

  • 예외 발생가능성이 높은 코드 수행

except:

[발생오류 [as 오류변수]] 는 생략가능하며 생략될 경우에는 모든 예외를 처리한다.

try:
    print(10 / 0)
    print("나누기를 완료 했습니다")
except:
    print("에러가 발생했습니다 ")


try:
    print(10 / 0)![](https://velog.velcdn.com/images/y42032944/post/076da518-e0f4-4e7c-9ee8-cbdbf8f32e7b/image.png)

    print("나누기를 완료 했습니다")

except ZeroDivisionError:
    print("에러가 발생했습니다 ")
except SyntaxError:
    print("문법이 틀렸습니다.")

try:
    print(10 / 0)
    print("나누기를 완료 했습니다")
except ZeroDivisionError as zde:
    print("에러가 발생했습니다", zde)
  • ZeroDivisionError as zde 을 사용하면 왜 에러가 발생 했는지 알 수있다. = 에러가 발생했습니다 division by zero (print로 알 수있다..)
try:
     print(10 / 0)
     print("나누기를 완료 했습니다")
except ZeroDivisionError as zde:
     print("에러가 발생했습니다",zde)
else:
    print("에러가 발생 하지 않았습니다")
finally:
     print("항상 실행됩니다")
try:
     print(10/ 1)
     print("나누기를 완료했습니다")
except ZeroDivisionError as zde:
     print("에러가 발생하지 않았습니다")
finally:
     print("항상 실행됩니다")
profile
개발운영팀

0개의 댓글