μμΈ μ²λ¦¬
β’
μμΈ
β’
μμΈ μ²λ¦¬
β’
μμΈ μ’
λ₯
β’
μμ μ½λ
μμΈ
μμΈ(Exception)λ νλ‘κ·Έλ¨ μ€ν μ€ λ°μνλ μ€λ₯λ₯Ό μλ―Έ
μμΈ λ°μ μ, νλ‘κ·Έλ¨ μ§ν μ€λ¨
μμΈ λ°μ κ°λ₯μ±μ΄ μλ λ¬Έμ₯μ νμ
νμ¬ λμ κ°λ₯ μμΈ μ²λ¦¬
μΌλ°μ μΌλ‘ νλ‘κ·Έλ¨μ΄ μ€νλλ λμ μκΈ°μΉ μμ μν©μ΄ λ°μν λ λ°μνλ©°, μ΄λ¬ν μν©μ λμ²νκΈ° μν΄ μμΈ μ²λ¦¬(Exception Handling) κΈ°λ₯μ μ¬μ©ν μ μμ΅λλ€.
μμΈ μ²λ¦¬
try:
# μμΈ λ°μ κ°λ₯ν μ½λ
# μμΈκ° λ°μνλ©΄ μ¬κΈ°μμ μ²λ¦¬λ¨
except μμΈμ’
λ₯ as λ³μ:
# μμΈ μ²λ¦¬ μ½λ
finally:
# νμ μ€νλλ μ½λ (μ νμ¬ν)
Python
볡μ¬
try:
result = X / Y
except ZeroDivisionError:
print('0μΌλ‘ λλ μ μμ΅λλ€.')
else:
print(result)
Python
볡μ¬
μμΈ μ’ λ₯
νμ΄μ¬μμλ λ€μν λ΄μ₯ μμΈλ€μ΄ μμ΅λλ€. μΌλΆ μ£Όμν μμΈλ€μ λ€μκ³Ό κ°μ΅λλ€
μμΈ μ’
λ₯ | μ€λͺ
|
SyntaxError | ꡬ문 μ€λ₯ |
NameError | μ μλμ§ μμ λ³μλ ν¨μλ₯Ό μ¬μ©ν λ λ°μ |
TypeError | μλͺ»λ μλ£νμ μ¬μ©νμ λ λ°μ |
ValueError | μλͺ»λ κ°μ μ¬μ©νμ λ λ°μ |
ZeroDivisionError | 0μΌλ‘ λλκΈ° μλν λ λ°μ |
μμ μ½λ
β’
μμΈκ° μ¬λ¬ κ° μΌ λ
β¦
λ°λ‘ μ²λ¦¬νλ λ°©λ²
β¦
λ¬Άμ΄μ μ²λ¦¬νλ λ°©λ²
β’
μμΈ μ 보
β’
finally
μμΈκ° μ¬λ¬ κ° μΌ λ
β’
λ°λ‘ μ²λ¦¬νλ λ°©λ²
β’
λ¬Άμ΄μ μ²λ¦¬νλ λ°©λ²
λ°λ‘ μ²λ¦¬νλ λ°©λ²
print('X / Y')
try:
X = int( input('X : ') )
Y = int( input('Y : ') )
result = X / Y
except ZeroDivisionError:
print('0μΌλ‘ λλ μ μμ΅λλ€')
except ValueError:
print('μ«μλ§ μ
λ ₯ κ°λ₯ν©λλ€')
except:
print('μ μ μλ μμΈκ° λ°μνμμ΅λλ€')
else:
print(result)
Python
볡μ¬
λ¬Άμ΄μ μ²λ¦¬νλ λ°©λ²
print('X / Y')
try:
X = int( input('X : ') )
Y = int( input('Y : ') )
result = X / Y
except (ZeroDivisionError, ValueError):
print('λ¬Έμλ₯Ό μ
λ ₯νκ±°λ 0μΌλ‘ λλ μ μμ΅λλ€')
except:
print('μ μ μλ μμΈκ° λ°μνμμ΅λλ€')
else:
print(result)
Python
볡μ¬
μμΈ μ 보
except μμΈ ν΄λμ€ as λ³μλͺ
ex)
except XXXError as err:
# err.args : μμΈ μ 보λ₯Ό κ°μ§ λ³μ
# - args[0] : μλ¬λ²νΈ
# - args[1] : μλ¬ λ©μμ§
# err : __str__ λ©μλμ μν΄ μμΈμ λ³΄κ° μΆλ ₯λ¨
try:
file = open('μ‘΄μ¬νμ§μλνμΌ.txt')
line = file.readline()
print(line)
except OSError as err:
print('μμΈ μ 보 : ', err.args)
print('μμΈ μ 보 : ', err)
except:
print('μ μ μλ μμΈ λ°μ...')
else:
print('μ μμ μΌλ‘ νμΌμ μ½μ΄μμ΅λλ€.')
Python
볡μ¬
finally
μμΈ μ²λ¦¬λ¬Έμμ μμΈ λ°μ μ¬λΆμ κ΄λ ¨μμ΄ μ€νλλ λΈλ‘
μ£Όλ‘, μμ ν΄μ λ₯Ό νλ μ€νλ¬Έμ μμ±νλ€
try:
file = open('nofile.txt', 'r')
line = file.readline()
except IOError:
print('νμΌ μ
μΆλ ₯ μ, μμΈκ° λ°μνμμ΅λλ€')
else:
print(line)
file.close() # νμΌ λ©λͺ¨λ¦¬ μμ ν΄μ
finally:
print('μμΈ λ°μκ³Ό 무κ΄νκ² μ€ν')
Python
볡μ¬