chapter06. 예외처리

728x90

 

1. 오류의 종류

- 구문 오류 : 실행전에 발생하는 오류

- 런타임 오류 : 프로그램 실행 중에 발생하는 오류 

 

2. 예외처리

- 조건문으로 예외처리하기

user_input_a = input("정수입력>>>")

if user_input_a.isdigit():
    number_input_a = int(user_input_a)
    print(number_input_a)
    print(2*3.14*number_input_a)
    
else:
    print("정수를 입력하지 않았습니다")

 

- try except 구문 사용

try:
    number_input_a = int(input("정수입력>>>"))
    print(number_input_a)
    print(2*3.14*number_input_a)
except:
    print("오류발생")

 

- t ry except 구문 과 pass 키워드 사용

list_a = ["1","2","3","하이"]

list_number = []
for item in list_a:
    try:
        float(item)
        list_number.append(item)
    except:
        pass

print("{}내부에 있는 숫자는".format(list_a))
print("{}입니다".format(list_number))

 

- try except else 구문

try:
    number_a = int(input("정수입력>>>>>"))
except:
    print("정수입력안함")
else:
    print(number_a)
    print(2*3.14*number_a)

 

- finally 구문

try:
    number_a = int(input("정수입력>>>>>"))
    print(number_a)
except:
    print("정수입력하세요")
else:
    print("예외발생안함")
finally:
    print("어떻게든 프로그램이 끝나긴함")

 

2. 예외 고급

- 예외정보는 예외 객체에 저장이 된다.

- 예외객체는 Exception을 사용

try:
    number_a = int(input("정수입력>>"))
    print(number_a)

except Exception as exception:
    print(type(exception))
    print(exception)

 

- 모든 예외 잡기

list_a = [1,2,3,4,5]

try:
    number_input = int(input("정수입력>>"))
    print("{}번째 요소{}".format(number_input, list_a[number_input]))
    예외.발생해라()
except ValueError as exception:
    print("정수입력하씨오")
    print(type(exception), exception)
except IndexError as exception:
    print("인덱스 벗어남")
    print(type(exception), exception)
except Exception as exception:
    print("파악하지 못한 예외가 발생함")
    print(type(exception), exception)

 

3. raise 구문으로 강제로 예외 발생시키기

number = int(input("정수입력>>>"))

if number>0:
    raise NotImplementedError
else:
    raise NotImplementedError

 

728x90

'스터디 > 혼자공부하는파이썬' 카테고리의 다른 글

chapter07. 모듈(2)  (0) 2024.04.29
chapter07. 모듈(1)  (0) 2024.04.23
chapter05. 함수 (2)  (1) 2024.04.20
chapter05. 함수 (1)  (0) 2024.04.17
chapter04. 반복문  (0) 2024.04.15