try,except문은 예외처리의 기능을 담당한다
try문에 수행할 구문들을 넣어두고 그 외에 발생한 error와 예외경우들은
except문에서 걸러진다.
try,except문 구조
try:
a=int(input("a의 값을 입력하시오 >> "))
print(a)
except:
print("다른 값이 입력되었습니다")
>>> 3
3
>>> anything
다른 값이 입력되었습니다
위는 try문을 이용해 기본적인 구조를 짜보았다
try문의 수행문은 무조건 실행이 되는데 int형 값을 변수 a에 받아 출력하는 프로그램이다
만약 a에 int형이 아닌 다른 형태의 값이 입력 되면 error가 발생하는데 그 error 발생시
나오는 error message를 except에서 내가 지정해줄 수 있다.
3을 입력했을 때에는 정상적인 입력이 진행되었기 때문에 error 가 발생하지 않았지만
anything이라는 문자열 값이 입력되자 지정해둔 error message가 출력되었다.
try문 예외 지정
try:
a=int(input("a의 값을 입력하시오 >> "))
print(a)
except ValueError:
print("raise ValueError")
>>> 3
3
>>> what?
raise ValueError
except문 자체는 모든 error와 예외사항을 잡아내는 기능이 있지만
프로그램을 작성하다 보면 특정 error의 메시지를 따로 설정하는 기능도 존재한다
위의 경우에는 잘못된 값이 입력될 떄 발생하는 ValueError의 경우에 출력될 error message를
내가 따로 지정해주었다
int형 값이 입력될때는 정상 진행 되지만
what?이라는 문자열 값이 입력되자 프로그램 작성자가 지정한 message가 출력되었다.
try문 예외 지정-2
try:
a=int(input("a의 값을 입력하시오 >> "))
print(a)
except ValueError as v:
print(v)
>>> 3
3
>>> what?
invalid literal for int() with base 10: 'what?'
특정 error메시지를 작성하는데 더 편리한 기능이 있다
ValueError에 대해 발생하는 기본 error message를 v로 지정한 후 그대로 출력하면
기본 error message가 출력된다
try문 finally
try:
f=open("c:\\test\\test.txt","r")
except:
pass
finally:
f.close()
파일은 open 되면 무조건 close가 되어야 하는 구조다
위 코드에 finally는 마지막에 무조건 실행되는 기능인데
수행문으로 close()를 넣어주면 프로그램의 끝에 무조건 파일이 닫히도록 할 수 있다
'개발&코딩 > Python' 카테고리의 다른 글
[Python] numpy, random 라이브러리로 로또 번호 생성기 만들기 (0) | 2020.09.16 |
---|---|
[Python] 함수와 사용법 (0) | 2020.09.11 |
[Python] - Socket Programming 의 기초 파일 입출력 (2) | 2020.09.08 |
[Python] - 제어문 - if,while,for 반복문과 조건문 (0) | 2020.09.08 |
[Python] -Dictionary형과 tuple 자료형의 기초적인 사용법 (0) | 2020.09.08 |
댓글