Language

[Python] μ˜ˆμ™Έ 처리

geum 2021. 8. 19. 14:08

 

* '점프 투 파이썬' 책을 보고 ν•„μš”ν•œ λ‚΄μš©μ„ μ •λ¦¬ν•œ κΈ€μž…λ‹ˆλ‹€.

 

 

πŸ’£ 파이썬 μ—λŸ¬μ˜ μ’…λ₯˜

- SyntaxError : 잘λͺ»λœ 문법(λ”°μ˜΄ν‘œ/κ΄„ν˜Έ/콜둠 λˆ„λ½, 비ꡐ μ—°μ‚°μž μ‹€μˆ˜ λ“±)

- NameError : μ°Έμ‘° λ³€μˆ˜κ°€ μ—†λŠ” 경우. μ •μ˜λ˜μ§€ μ•Šμ€ λ³€μˆ˜λ₯Ό μ‚¬μš©ν•˜λ €κ³  ν•  λ•Œ λ°œμƒν•˜λŠ” μ—λŸ¬

- ZeroDivisionError : λΆ„λͺ¨μ— 0이 λ“€μ–΄κ°ˆ λ•Œ

- IndexError : 인덱슀 λ²”μœ„ 초과

- KeyError : λ”•μ…”λ„ˆλ¦¬ κ΅¬μ‘°μ—μ„œ Key 값을 찾을 수 없을 λ•Œ

- AttributeError : λͺ¨λ“ˆ 클래슀의 속성λͺ…을 잘λͺ» μž…λ ₯ν–ˆμ„ λ•Œ

- ValueError : μ°Έμ‘° 값이 없을 λ•Œ → μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” 값에 μ ‘κ·Όν•˜λ €κ³  ν•  λ•Œ

- FileNotFoundError : μ™ΈλΆ€ 파일의 κ²½λ‘œλ‚˜ 이름이 잘λͺ»λ˜μ–΄ νŒŒμΌμ„ 뢈러올 수 없을 λ•Œ

- TypeError : 데이터 νƒ€μž… μ—λŸ¬

 

 

였λ₯˜ 처리 기법

1) try, except문

β‘  try, except만 μ‚¬μš©ν•˜λŠ” 방법

# 였λ₯˜ μ’…λ₯˜μ— 상관없이 였λ₯˜κ°€ λ°œμƒν•˜λ©΄ except 블둝 μˆ˜ν–‰
try:
	~
except:
	~

 

β‘‘ λ°œμƒ 였λ₯˜λ§Œ ν¬ν•¨ν•œ exceptλ¬Έ

# except문에 μ •ν•΄ 놓은 였λ₯˜κ°€ λ°œμƒν–ˆμ„ λ•Œλ§Œ exceptλ¬Έ μˆ˜ν–‰
try:
	~
except λ°œμƒ 였λ₯˜:
	~

 

β‘’ λ°œμƒ 였λ₯˜μ™€ λ©”μ‹œμ§€ λ³€μˆ˜κΉŒμ§€ ν¬ν•¨ν•œ exceptλ¬Έ

try:
	4 / 0
except ZeroDivisionError as e:
	print(e)
    
# output : division by zero

 

2) try, finally문

# example
f = open('file.txt', 'w')

try:
	~
# tryλ¬Έ μˆ˜ν–‰ 도쀑 μ˜ˆμ™Έ λ°œμƒ 여뢀에 상관없이 항상 μˆ˜ν–‰λ˜λŠ” λΆ€λΆ„
finally:
	f.close()

 

3) μ—¬λŸ¬ 개의 였λ₯˜ 처리

β—½ try문은 ν•˜λ‚˜λ§Œ, except문은 μ²˜λ¦¬ν•  였λ₯˜ 개수만큼 μ μ–΄μ€Œ(if ~ elif μ‚¬μš©κ³Ό λΉ„μŠ·ν•œ 방식)

'Language' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[Python] 파일 읽기/μ“°κΈ°  (0) 2021.08.18
[Python] lambda  (0) 2021.02.09
[Python] Method #1 : method, self  (0) 2020.09.27