Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 파이썬
- 맷플롯립
- python데이터분석
- Python
- 주피터노트북데이터분석
- 파이썬크롤링
- python알고리즘
- 파이썬알고리즘
- SQLSCOTT
- matplotlib
- 판다스데이터분석
- 주피터노트북판다스
- sql연습하기
- 판다스그래프
- 파이썬시각화
- SQL수업
- 팀플기록
- sql따라하기
- 파이썬수업
- 파이썬데이터분석
- 주피터노트북그래프
- python수업
- SQL
- 주피터노트북맷플롯립
- 파이썬데이터분석주피터노트북
- 파이썬차트
- 수업기록
- 주피터노트북
- 데이터분석시각화
- sql연습
Archives
- Today
- Total
IT_developers
Python 개념 및 실습 - 예외 본문
예외처리, 문법 에러
# NameError : 변수가 정의 되지 않았는데 사용할 때
a, b = 10, 15
print(a, b)
print(a, b, c) # NameError: name 'c' is not defined
#런타임 에러 : 실행 했을 때 나는 에러
# 0으로 나눌 수 없음
print(10 / 0) # ZeroDivisionError: division by zero
# index 없음
x = [10, 20, 30]
print(x[3])
# key 값 없음
dict1 = {"name": "hong", "age": 25, "city": "seoul"}
print(dict1["addr"])
# value 값 없음
x = [10, 20, 30]
x.index(40)![](https://blog.kakaocdn.net/dn/bsTaA5/btrDGIVhKSM/21bEWlk1aQ9GBKVxTHCeqK/img.png)
![](https://blog.kakaocdn.net/dn/bsTaA5/btrDGIVhKSM/21bEWlk1aQ9GBKVxTHCeqK/img.png)
# 파일 없음
f = open("data/111.txt", "r")
# 타입에러
x = [1, 2]
y = (1, 2)
print(x + y)
![](https://blog.kakaocdn.net/dn/c2IUJ4/btrDHefo9Tx/CVgnjx2Ra7mdA0gSBYL2kK/img.png)
파이썬은 인터프리터 언어이기 때문에 순차적으로 실행.
한줄 실행하고 결과, 한줄 실행하고 결과.
# 예외 처리 기법
- try ~ except 문 : 오류 종류와 상관없이 오류가 발생하기만 하면 except 블록 수행
- try ~ except 발생오류 : except에 정해 놓은 오류 시 except 블록 수행
- try ~ except ~ else
- try ~ finally: 오류 발생 여부와 상관없이 무조건 실행(리소스 해제)
- try 단독으로는 올 수 없음
try: # 예외 발생 구문
pass
except: # 예외가 발생한 경우
pass
else: # 예외가 발생하지 않은 경우에 실행(except 절 바로 다음에 위치해야 함)
pass
finally: # 예외가 발생 여부 상관없이 무조건 실행
pass
# try ~ except
name = ["Kim", "Park", "Choi"]
try:
z = "let"
x = name.index(z)
print("{} Found it! in name {}".format(z, x + 1))
except:
print("Not found")
try:
number = int(input("정수입력 >>"))
print("원 반지름 : ", number)
print("원 둘레 : ", 2 * 3.14 * number)
print("원 넓이 : ", 3.14 * number * number)
except:
print("입력 숫자를 확인해 주세요")
# try ~ except 발생오류
name = ["Kim", "Park", "Choi"]
try:
z = "let"
x = name.index(z)
print("{} Found it! in name {}".format(z, x + 1))
except ValueError:
print("Not found")
![](https://blog.kakaocdn.net/dn/duPHQH/btrDEp9Xe4d/JJERgpGq9fGJL41ZWIcAk0/img.png)
try:
number = int(input("정수입력 >>"))
print("원 반지름 : ", number)
print("원 둘레 : ", 2 * 3.14 * number)
print("원 넓이 : ", 3.14 * number * number)
except ValueError:
print("입력 숫자를 확인해 주세요")
# try ~ except ~ else
name = ["Kim", "Park", "Choi"]
try:
z = "Kim"
x = name.index(z)
print("{} Found it! in name {}".format(z, x + 1))
except ValueError:
print("Not found")
else:
print("OK! Else")
try:
number = int(input("정수입력 >>"))
except ValueError:
print("입력 숫자를 확인해 주세요")
else:
print("원 반지름 : ", number)
print("원 둘레 : ", 2 * 3.14 * number)
print("원 넓이 : ", 3.14 * number * number)
name = ["Kim", "Park", "Choi"]
try:
z = "let"
x = name.index(z)
print("{} Found it! in name {}".format(z, x + 1))
except Exception: #Exception: 어떤 오류가 나는지 모를 때
print("Not found")![](https://blog.kakaocdn.net/dn/duPHQH/btrDEp9Xe4d/JJERgpGq9fGJL41ZWIcAk0/img.png)
![](https://blog.kakaocdn.net/dn/drVktm/btrDHeNgZaI/hcfcIrHoXRPMdgLRspDka0/img.png)
![](https://blog.kakaocdn.net/dn/duPHQH/btrDEp9Xe4d/JJERgpGq9fGJL41ZWIcAk0/img.png)
# exception 발생오류 as오류 메세지 변수
try:
4 / 0
except ZeroDivisionError as e:
print(e)
![](https://blog.kakaocdn.net/dn/drVktm/btrDHeNgZaI/hcfcIrHoXRPMdgLRspDka0/img.png)
# try ~ finally
try:
f = open("data/info.txt", "r")
finally:
f.close() #오류가 나든 안나든 닫기
'Python' 카테고리의 다른 글
Python 개념 및 실습 - 데이터베이스(2) (0) | 2022.09.14 |
---|---|
Python 개념 및 실습 - 데이터베이스(1) (0) | 2022.09.13 |
Python 개념 및 실습 - 모듈(2) (0) | 2022.09.12 |
Python 개념 및 실습 - 모듈(1) (0) | 2022.09.12 |
Python 개념 및 실습 - 클래스(3) (0) | 2022.09.11 |
Comments