now is better than never
[easyupclass] 초심자를 위한 빅데이터 분석 및 머신러닝 응용과정(파이썬) 16강 - 예외처리 본문
Python/초심자를 위한 빅데이터 분석 및 머신러닝 응용과정
[easyupclass] 초심자를 위한 빅데이터 분석 및 머신러닝 응용과정(파이썬) 16강 - 예외처리
김초송 2022. 10. 25. 01:13Exception
- 프로그램 실행 중 오류가 발생했을 때 코드가 중단되지 않도록 예외 상황을 선언하고 처리
try except
try:
문제 없을 시 실행할 코드
except:
문제 발생(예외 상황) 시 실행할 코드
- 출력 등 반드시 확인해야 할 것들은 try except 구문 밖에 작성
- 형변환, 연산 등 오류가 발생할 것 같은 코드를 try 안에 작성
try except else
- except가 실행되지 않으면 else 문 실행
print("start")
n = input("set range: ")
try:
res = sum(range(int(n)+1))
except:
print("wrong input")
else:
print("result: ", res)
print("done")
try except finally
- except 실행 유무와 상관없이 무조건 finally 문 실행
print("start")
def divding():
n1, n2 = tuple(input("insert number: ").split(" "))
try :
return int(n1)/int(n2)
except:
print("wrong number")
finally:
print("end")
try excepy Exception
- 발생 가능한 예외 상황을 Exception 객체 정의
- 해당 Exception 발생 시 return에 원하는 실행문 작성
try:
실행문
except ExceptionType:
return 예외 상황 시 실행문
(except ExceptionType2:
return 예외 상황 시 실행문2)
def divding():
n1, n2 = tuple(input("insert number: ").split(" "))
try:
return int(n1) / int(n2)
except ZeroDivisionError:
print("Zero Division Error")
설정되어 있는 Exception 오류만 출력
try:
실행문
except Exception as e:
print(e)
사용자 정의 예외 처리
- 정상적으로 실행되는 코드를 작성자 기준에서 오류라고 재정의하고 예외 처리
- 사용자 정의 Exception 클래스는 Exception을 상속받아야 함
class ExceptionType(Exception):
def __str__(self):
return "표기하고 싶은 에러문"
class LowNumber(Exception):
def __str__(self):
return "number should be greater than 10"
def input_number(num):
if num <= 10: raise LowNumber()
print(num)
'Python > 초심자를 위한 빅데이터 분석 및 머신러닝 응용과정' 카테고리의 다른 글
[easyupclass] 초심자를 위한 빅데이터 분석 및 머신러닝 응용과정(파이썬) 18강 - numpy (0) | 2022.10.25 |
---|---|
[easyupclass] 초심자를 위한 빅데이터 분석 및 머신러닝 응용과정(파이썬) 17강 - Quiz (0) | 2022.10.25 |
[easyupclass] 초심자를 위한 빅데이터 분석 및 머신러닝 응용과정(파이썬) 15강 - 클래스, 상속 2 (0) | 2022.10.24 |
[easyupclass] 초심자를 위한 빅데이터 분석 및 머신러닝 응용과정(파이썬) 13강 ~ 14강 - 클래스, 상속 1 (0) | 2022.10.22 |
[easyupclass] 초심자를 위한 빅데이터 분석 및 머신러닝 응용과정(파이썬) 10강 ~ 12강 (0) | 2022.10.21 |