try:
실행할 코드
except:
예외가 발생했을 때 처리하는 코드
try:
x = int(input('나눌 숫자를 입력하세요: ')) # 예외 발생 시 실행 중단
y = 10 / x # 예외 발생시 실행 중단
print(y) # 예외 발생시 실행 중단
except: # 예외가 발생했을 때 실행됨
print('예외가 발생했습니다.)
try:
실행할 코드
except 예외이름:
예외가 발새했을 때 처리하는 코드
y = [10, 20, 30]
try:
index, x = map(int, input('인덱스와 나눌 숫자를 입력하세요: ').split())
print(y[index] / x)
except ZeroDivisionError: # 숫자를 0으로 나눠서 에러가 발생했을 때 실행
print('숫자를 0으로 나눌 수 없습니다')
except IndexError: # 범위를 벗어난 인덱스에 접근해 에러가 발생했을 때 실행
print('잘못된 인덱스입니다')
try:
실행할 코드
except 예외 as 변수:
예외가 발생했을 때 처리하는 코드
y = [10, 20, 30]
try:
index, x = map(int, input('인덱스와 나눌 숫자를 입력하세요: ').split())
print(y[index] / x)
except ZeroDivisionError as e: # as 뒤에 변수를 지정하면 에러 받아옴
print('숫자를 0으로 나눌 수 없습니다', e) # e에 저장된 에러 메시지 출력
except IndexError as e:
print('잘못된 인덱스입니다', e)
🔥 모든 예외의 에러 메시지를 출력할 때는 Exception 사용
else는 except 바로 다음에 와야하며 except는 생략 할 수 없음try:
실행할 코드
except 예외 as 변수:
예외가 발생했을 때 처리하는 코드
else:
예외가 발생하지 않았을 때 실행할 코드
try:
x = int(input('나눌 숫자를 입력하세요: '))
y = 10 / x
except ZeroDivisionError: # 숫자를 0으로 나눠서 에러가 발생했을 때 실행
print('숫자를 0으로 나눌 수 없습니다'))
else: # try의 코드에서 예외가 발생하지 않았을 때 실행
print(y)
finally는 except와 else를 생략할 수 있음try:
실행할 코드
except 예외 as 변수:
예외가 발생했을 때 처리하는 코드
else:
예외가 발생하지 않았을 때 실행할 코드
finally:
예외 발생 여부와 상관없이 항상 실행할 코드
try:
x = int(input('나눌 숫자를 입력하세요: '))
y = 10 / x
except ZeroDivisionError: # 숫자를 0으로 나눠서 에러가 발생했을 때 실행
print('숫자를 0으로 나눌 수 없습니다'))
else: # try의 코드에서 예외가 발생하지 않았을 때 실행
print(y)
finally: # 예외 발생 여부와 상관없이 항상 실행됨
print('코드 실행이 끝났습니다')
raise에 예외를 지정하고 에러 메시지(생략 가능) 넣음try:
raise Exception(에러베시지) # 예외를 발생시킴
except Exception as e: # 예외가 발생했을 때 실행됨
print(e) # Exception에 지정한 에러 메시지가 e에 들어감
try:
x = int(input('3의 배수를 입력하세요: '))
if % 3 != 0: # x가 3의 배수가 아니면
raise Exception('3의 배수가 아닙니다') # 예외를 발생시킴
print(x)
except Exception as e: # 예외가 발생했을 때 실현됨
print('예외가 발생했습니다', e)
def three_multiple():
x = int(input('3의 배수를 입력하세요: '))
if x % 3 != 0: # x가 3의 배수가 아니면
raise Exception('3의 배수가 아닙니다')) # 예외를 발생시킴
print(x) # 예외를 상위 코드 블록으로 넘김
try:
three_multiple()
expt Exception as e: # 하위 코드 블록에서 예외가 발생해도 실행됨
print('예외가 발생했습니다', e)
def three_multiple():
try:
x = int(input('3의 배수를 입력하세요: '))
if x % 3 != 0: # x가 3의 배수가 아니면
raise Exception('3의 배수가 아닙니다')) # 예외를 발생시킴
print(x)
except Exception as e: # 함수 안에서 예뢰를 처리함
print('three_multiple 함수에서 예외가 발생했습니다', e)
raise # raise로 현재 예외를 다시 발생시켜 상위 코드로 블록 넘김
try:
three_multiple()
expt Exception as e: # 하위 코드 블록에서 예외가 발생해도 실행됨
print('예외가 발생했습니다', e)
assert는 지정된 조건식이 거짓일 때 AssertionError 예외를 발생 시키고 조건식이 참이면 그냥 넘어감assert는 디버깅 모드에서만 실행# assert 중지
python -0 스크립트파일.py
assert 조건식
assert 조건식, 에러메시지
x = int(input('3의 배수를 입력하세요: '))
assert x % 3 == 0, '3의 배수가 아닙니다' # 3의 배수가 아니면 예외 발생
pirnt(x) # 3의 배수면 그냥 넘어감
class 예외이름(Exceptiono): # 예외 만들기
def __init__(self):
super().__init__('에러메시지')
raise 예외 # 예외 발생시키기