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 | 31 | 
													Tags
													
											
												
												- 판다스데이터분석
- Python
- 파이썬수업
- python알고리즘
- 주피터노트북그래프
- python데이터분석
- python수업
- 주피터노트북
- 주피터노트북판다스
- 수업기록
- SQL
- 데이터분석시각화
- 팀플기록
- 파이썬차트
- SQLSCOTT
- SQL수업
- 맷플롯립
- 파이썬데이터분석
- sql연습하기
- sql따라하기
- 파이썬알고리즘
- 파이썬시각화
- 파이썬크롤링
- 파이썬데이터분석주피터노트북
- 주피터노트북맷플롯립
- 파이썬
- matplotlib
- 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)

# 파일 없음
f = open("data/111.txt", "r")

# 타입에러
x = [1, 2]
y = (1, 2)
print(x + y)

파이썬은 인터프리터 언어이기 때문에 순차적으로 실행.
한줄 실행하고 결과, 한줄 실행하고 결과.
# 예외 처리 기법
- 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")

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")


# exception 발생오류 as오류 메세지 변수
try:
    4 / 0
except ZeroDivisionError as e:
    print(e)

# 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
			
		
	
               
           
					
					
					
					
					
					
				 
             
								 
								 
								