파이썬(Python)/문법

[Python] Try Except Else Finally Raise 구문 사용 방법, 예제 (파이썬)

끄적끄적아무거나 2022. 6. 27. 09:08
반응형

 

목차

     

     

    파이썬 try except else finally 문이란?

    파이썬을 구현하면서 파일을 처리하거나 인터넷이나 시리얼(Serial) 통신에 연결할때 예상치 못한 에러(error)가 발생할 수 있습니다. 이와 같이 프로그램에 발생하는 에러는 예외(Except) 처리가 되고 에러 메세지와 함께 프로그램이 종료 됩니다. 

     

    파이썬 내장 예외처리에서 위와 같은 작업을 진행하지만 사용자가 직접 예외처리를 만들 수 있는데 이때 사용하는 명령어가 try except 입니다.

     

    • try : try 아래 블럭을 에러가 있어도 시행해봅니다.
    • except : try 아래 블럭에서 에러 발생 시 에러를 어떻게 처리할지 결정합니다.
    • else : try 아래에서 에러가 없을 경우 시행 합니다.
    • finally : try 에러 여부에 관계없이 시행 합니다. 

     

     

    아래는 파이썬에 실제 내장된 에러 메세지 종류입니다.

    • IOError : IO 에러
    • TypeError: Type 에러
    • NameError: Name 에러
    • Exception: 그 외 에러

     

     

     

    파이썬 try except else finally 예제 실습

     

    try except 기본 예제

     

    예제 코드>>

    try:
        x = open("no_file.txt","r")
    except:
        print("error occurred")

    2번 라인: 실제 없는 파일을 열어 봅니다.

    4번 라인: 에러시 해당 메세지를 print 합니다.

     

    결과>>

    error occurred

     

     

     

    try except 내장 에러 메세지 사용 예제

     

    예제 코드>>

    try:
      print(x)
    except NameError as e:
        print(e)

    3번 라인: NameError 발생 시 e 라는 변수에 메세지를 저장합니다.

     

    결과>>

    name 'x' is not defined

     

     

     

     

    try except else 사용 예제

     

    예제 코드>>

    try:
        x = 3
    except:
        print("error occurred")
    else:     
        print("no error")

    2번 라인: 정상 선언

     

    결과>>

    no error

     

     

     

     

    try except finally 사용 예제

     

    예제 코드>>

    try:
        x = open("no_file.txt","r")
    except:
        print("error occurred")
    finally:
        print("program excuted")

    try에 상관 없이 finally 구문을 실행합니다.

    일반적으로 finally에 파일 close 구문을 넣어 혹시 모를 open 상태를 방지 합니다.

     

    결과>>

    error occurred
    program excuted

     

     

     

    raise 사용 예제

     

    예제 코드>>

    x = -5
    if x < 0:
        raise Exception("error occured")

    에러 발생 시 사용자가 Exception이라는 예외 문을 띄웁니다.

     

    결과>>

    Traceback (most recent call last):
      File "d:\Python\test03\test17.py", line 3, in <module>
        raise Exception("error occured")
    Exception: error occured

     

     

    반응형