티스토리 뷰
예외 처리 방법
try, except 구문
-
예외가 발생할 수 있는 상황을 예상하여 예외를 제어할 수 있음
-
try: (예외 발생 가능한) 일반적인 수행문들
-
except: 예외가 발생하였을 때 수행문들
-
프로그램 실행에 치명적이지 않은 오류지만, 오류로 인해 프로그램 실행이 멈추는 것을 방지하려면? → 예외를 그냥 넘어가고 싶은 경우 pass 키워드 사용
a = input('정수 입력: ')
try:
a = float(a)
print('반지름 : ', a)
print('둘레 : ', 2 * 3.14 * a)
print('넓이 : ', 3.14 * a * a)
except:
print('예외 발생!!!') #예외가 발생하였을 때 출력할 값
else 구문
-
try, except 뒤에 else를 붙여서 사용하면, 예외가 발생하지 않았을 때 실행할 코드를 지정할 수 있음 → 예외가 발생할 수 있는 코드만 try에 넣어서 활용(가독성, 유지보수 향상)
a = input('정수 입력 : ')
try:
a = float(a)
except:
print('예외 발생 !!')
else:
print('반지름 : ', a)
print('둘레 : ', 2 * 3.14 * a)
print('넓이 : ', 3.14 * a * a)
finally 구문
-
try, except, else 뒤에 finally를 붙여서 사용하면, 예외 발생 유무에 관계 없이 실행되는 코드를 작성할 수 있음
try, except, else, finally 구문
-
규칙
-
try 구문은 단독으로 사용할 수 없음
-
else 구문은 반드시 except 구문 뒤에 와야 함
-
-
아래 조합 외에는 오류 발생
-
try + except
-
try + except + else
-
try + except + finally
-
try + except + else + finally
-
try + finally
-
예외 객체와 예외 구분
예외 객체
-
예외가 발생하면, 예외와 관련된 정보가 생성(예외 객체로 활용 가능)
-
try: (예외 발생 가능한) 일반적인 수행문들
-
except 예외의 종류 as 예외 객체를 활용할 변수: 예외가 발생했을 때 수행문들
-
예외의 종류를 모르겠다면, exception(모든 예외 포함)
예외 구분
-
예외 객체를 활용해 조건문처럼 예외 종류에 따라 다른 코딩을 할 수 있음
-
try: (예외 발생 가능한) 일반적인 수행문들
-
except 예외 종류 A: 예외가 발생했을 때 수행문들
-
except 예외 종류 B: 예외가 발생했을 때 수행문들
-
except 예외 종류 C: 예외가 발생했을 때 수행문들
예외 구분의 잘못된 예
-
예외 처리의 순서(예외의 포함 관계): Arithmetic > ZeroDivision
강제로 예외 발생시키기
-
raise 예외 종류(메시지)
a = input('정수 입력 : ')
a = int(a)
if (a > 0):
raise Exception
else:
print('음수입니다.')
예외 처리 활용
-
예외 처리에서 가장 중요한 것: 이 코드에서 어떤 경우에 어떤 예외가 발생할 것인가?
'파이썬 > 예외 처리' 카테고리의 다른 글
파이썬 예외 처리 실습해보기 (0) | 2020.11.04 |
---|---|
파이썬 예외 처리 (0) | 2020.11.04 |
- Total
- Today
- Yesterday
- 스마트워치
- 코딩
- sql
- Programming
- 코테
- 경제신문
- 함수
- 클래스
- 경제
- R
- 프로그래머스
- 모듈
- 코드
- 코딩테스트
- 자바
- plot
- 데이터
- 개발
- python
- mysql
- 프로그래밍
- 머신러닝
- SW
- 그래프
- 파이썬
- 데이터분석
- 영어
- 보안
- 금리
- 영어회화
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |