예외처리
* 오류 : error
1. 실행 전 발생하는 오류 : 구문오류 Syntax error
2. 실행 중 발생 하는 오류 : 예외 exception/ 런타임 오류 runtime error
1. Syntax error : 괄호 갯수, 들여쓰기 등의 문제로 실행되기 전 발생되는 오류. > 제대로 써야지 해결
2. exception / runtime error : 코드를 제대로 작성하면 해결됨.
3. 예외 처리 : exception handling, 예외를 해결 하는 모든 것. 실행은 되어야지 예외처리 가능.
▶ syntax error 는 실행 조차 안되기 때문에 안됨.
a. 조건문을 사용하는 방법 : 기본 예외 처리
user = input("정수입력>")
if user.isdigit():
number = int(user)
print("반지름",number)
print("원의둘레", 2*3.14*number)
print("원의넓이", 3.14*number*number)
else:
print("정수가입력이되지아니하였다")
b. try / except / else / finally
▶ try : 예외가 발생할 가능성이 있는 코드
except : 예외가 발생했을때 실행할 코드
else : 예외가 발생하지 않았을 때 실행할 코드
finally: 무조건 실행할 코드
▷ try + except / try + except + else / try + except + finally / try + except + else + finally / try + finally 조합으로 가능.
▶ example
* try:
예외가 발생할 가능성이 있는 구문
except 예외의 종류 as 예외 객체를 활용할 변수 이름:
예외가 발생했을 때 실행할 구문
A. 예외객체
a-1. Exception : 모든 예외의 어머니. 변수로 잡아서 print하면 일부러 오류코드를 보여줘서 무슨 오류인지 보여줌
a-2. ValueError : 정수로 변환할 수 없는 값을 입력한 경우
a-3. IndexError : 리스트의 길이를 넘는 인덱스를 입력한 경우
**예외 구분하기 ▶ except 구문 뒤에 예외의 종류를 입력해서 예외를 구분할 수 있음.
try :
예외가 발생할 가능성이 있는 구문
except 예외의 종류A:
예외A가 발생했을 때 실행할 구문
except 예외의 종류B:
예외B가 발생했을 때 실행할 구문
except 예외의 종류C:
예외C가 발생했을 때 실행할 구문
▶ 예외 조건에 일치하는 게 없을수도 있으니 마지막에는 Exception을 넣어서 모든 예외를 잡아서 프로그램이 죽지 않게 하는 것이 중요.