728x90

오류

  • 구문 오류 : 프로그램 실행 전에 발생하는 오류

    • SyntaxError : 구문에 문제가 있어 프로그램 실행부터 불가능한 경우

  • 런타임 오류 : 프로그램 실행 중에 발생하는 오류

예외처리

  • 조건문을 사용

rad = input("정수 입력 :")

if rad.isdigit():
    print("원의 반지름 =", rad)
    print("원의 둘레 =", 2*3.14*rad)
    print("원의 넓이 =", 3.14*rad*rad)
else :
    print("정수를 입력하세요")

실행결과 :
정수 입력 :5
원의 반지름 = 5
원의 둘레 = 31.400000000000002
원의 넓이 = 78.5
정수 입력 :ㄹ
정수를 입력하세요
  • try 구문 사용 : 아래 4가지의 구문을 이뤄야 함

    • try + except

    • try + except + else

    • try + except + finally

    • try + except + else + finally

try :                                       # 에러가 발생할 수 있는 코
    rad = int(input("정수 입력 :"))
    print("원의 반지름 =", rad)
    print("원의 둘레 =", 2*3.14*rad)
    print("원의 넓이 =", 3.14*rad*rad)
except :
    print("정수를 입력하세요")              # 에러가 발생했을 때
else :
    print("성공입니다.")                   # 에러가 발생하지 않았을 때
finally :                                  # 에러 발생 여부와 상관없이 무조건 실행
    print("끝")

실행결과 :
정수 입력 :5
원의 반지름 = 5
원의 둘레 = 31.400000000000002
원의 넓이 = 78.5
성공입니다.
끝

정수 입력 :ㄹ
정수를 입력하세요
끝
  • pass : 예외가 발생했을 때 중요하지 않은 경우 except에 아무것도 실행시키지 않음

try :                                       
    rad = int(input("정수 입력 :"))
    print("원의 반지름 =", rad)
    print("원의 둘레 =", 2*3.14*rad)
    print("원의 넓이 =", 3.14*rad*rad)
except :
    pass

실행결과 :
정수 입력 : ㄹ
  • raise : 예외를 강제로 발생시킴. 개발 단계에서 구현되지 않은 부분에 일부러 에러를 발생시켜 잊어버리지 않도록 함

num = int(input("정수 입력 :"))

if num > 0:
    raise NotImplementedError       # 아직 미구현했다는 에러

실행결과 : 
정수 입력 :5
Traceback (most recent call last):
  File "C:\Users\237-06\AppData\Local\Programs\Python\Python38-32\1.py", line 4, in <module>
    raise NotImplementedError
NotImplementedError
728x90

+ Recent posts