📍 Error
: SyntaxError, ZeroDivisionError, TypeError, ValueError, KeyError 등
✅ 예외처리
try:
code
except 예외:
code
# TypeError
num = 'a'
try:
print(f'100을 {num}으로 나누면 {100/num}입니다.')
except TypeError:
print('입력한 정보는 숫자가 아닙니다.')
except ZeroDivisionError:
print('수학적으로 0으로는 나눌 수 없습니다.')
# 입력한 정보는 숫자가 아닙니다.
# ZeroDivisionError
num = 0
try:
print(f'100을 {num}으로 나누면 {100/num}입니다.')
except ValueError:
print('입력한 정보는 숫자가 아닙니다.')
except ZeroDivisionError:
print('수학적으로 0으로는 나눌 수 없습니다.')
# 수학적으로 0으로는 나눌 수 없습니다.
# 모든 Error
num = 0
try:
print(f'100을 {num}으로 나누면 {100/num}입니다.')
except:
print('무엇인가 잘못되었습니다.')
# 무엇인가 잘못되었습니다.
# ValueError, ZeroDivisionError 외 Error(NameError)
try:
print(asdf)
num = int(input('100을 나눌 값을 입력해주세요 : '))
print(f'100을 {num}으로 나누면 {100/num}입니다.')
except (ValueError, ZeroDivisionError):
print('무엇인가 잘못되었습니다.')
except:
print('wrong')
# wrong
# except 순서로 인한 error 발생
try:
num = int(input('100을 나눌 값을 입력해주세요 : '))
print(f'100을 {num}으로 나누면 {100/num}입니다.')
except:
print('wrong')
except (ValueError, ZeroDivisionError):
print('무엇인가 잘못되었습니다.')
더보기
Cell In[6], line 5
except:
^
SyntaxError: default 'except:' must be last
# Error 출력
try:
my_list = [1, 2, 3]
print(my_list[100])
except IndexError as err:
print('범위에 문제가 있습니다.')
print(err)
# 범위에 문제가 있습니다.
# list index out of range
✔️ else
: 예외를 일으키지 않을 때 실행되는 코드
try:
numbers = [1, 2, 3]
num = numbers[1]
except:
print('오류발생')
else:
print(num ** 3)
# 8
✔️ finally
: 예외 상황과 무관하게 무조건 최종적으로 실행되는 코드
try:
numbers = [1, 2, 3]
num = numbers[100]
except:
print('오류발생')
finally:
print('end')
# 오류발생
# end
✔️ raise
: 예외를 강제로 발생시키는 상황에서 사용
for i in range(100):
if i == 50:
print(i)
raise
# 50
# error 출력
더보기
---------------------------------------------------------------------------
RuntimeError Traceback (most recent call last)
Cell In[10], line 4
2 if i == 50:
3 print(i)
----> 4 raise
RuntimeError: No active exception to reraise
'Python' 카테고리의 다른 글
[Python / 기초] 파이썬 클래스(OOP) - 생성자, 소멸자, 인스턴스, 변수, 메소드, 상속 (0) | 2024.01.15 |
---|---|
[Python / 기초] 파이썬 모듈, 패키지 - math, random, datetime (0) | 2024.01.15 |
[Python / 기초] 파이썬 세트메소드 - add, update, remove, pop, map, filter, zip (0) | 2024.01.12 |
[Python / 기초] 파이썬 딕셔너리메소드 - pop, update, get (0) | 2024.01.12 |
[Python / 기초] 파이썬 리스트메소드 - append, extend, insert, remove, pop, sort, reverse (0) | 2024.01.12 |