Python
예외처리
Yokina
2017. 1. 7. 23:27
예외처리
try: num = int(input("숫자입력")) except ValueError: print("숫자만입력") | try: 6/0 except ZeroDivisionError: print("0으로나눔") |
try : 6/0 except (ZeroDivisionError, ValueError) : print("error") | try : 6/0 except ZeroDivisionError : print('나누기에러') except ValueError print('값에러') |
try : num = int(input("숫자입력")) except ValueError : print('숫자가 아닙니다') else : print(num) | try : except ValueError : else : finally : |
의도적 에러 발생 - raise 에러종류(에러발생시 메세지)
try : num = int(input("input number")) raise ValueError('0보다 작음', '0 임', '0보다 큼') except ValueError as e : if num < 0 : print(e.args[0]) elif num == 0 : print(e.args[1]) elif num > 0 : print(e.args[2]) |
파일 처리 관련 에러 예제
try: data = open('missing.txt', "w") print(data.readline(), end='') except IOError as err : print('File error : ' + str(err) ) #err객체를 출력하기 위해 문자열로 변환 finally : if 'data' in locals() : #현재 사용할 수 있는 이름을 반환하는 함수 ... locals() data.close()
위 예제를 with를 사용한 예제
try : with open('missing.txt', "w") as data : print("File Error", file=data) except IOError as err : print('File error : ' + str(err))