λ°μν
μμΈ μ²λ¦¬ (Exception Handling)
μμΈ μ²λ¦¬λ μ½λ μ€ν μ€ λ°μν μ μλ μ€λ₯ μν©μ μ²λ¦¬νλ λ°©λ²μ΄λ€.
try, except, finally ꡬ문μ μ¬μ©νμ¬ μμΈ λ°μ μ μ½λλ₯Ό μμ νκ² μ’ λ£νκ±°λ νΉμ λμμ μνν μ μλ€.
1. κΈ°λ³Έμ μΈ μμΈ μ²λ¦¬ ꡬ쑰
try:
# μμΈκ° λ°μν κ°λ₯μ±μ΄ μλ μ½λ
except ExceptionType:
# μμΈκ° λ°μνμ λ μ€νλλ μ½λ
else:
# μμΈκ° λ°μνμ§ μμμ λ μ€νλλ μ½λ
finally:
# μμΈ λ°μ μ¬λΆμ μκ΄μμ΄ νμ μ€νλλ μ½λ
- try: μμΈκ° λ°μν κ°λ₯μ±μ΄ μλ μ½λλ₯Ό μμ±. μλ₯Ό λ€μ΄ νμΌμ μ΄κ±°λ, μ«μλ₯Ό 0μΌλ‘ λλλ λ±μ μμ μ΄ ν¬ν¨λ μ μλ€.
- except: μμΈκ° λ°μνμ λ μ€νν μ½λλ₯Ό μμ±. λ°μν μμΈ μ νμ λ°λΌ μ¬λ¬ κ°μ except λΈλ‘μ μ§μ ν μλ μλ€.
- else: μμΈκ° λ°μνμ§ μμμ λ μ€νλλ μ½λλ₯Ό μμ±. elseλ μ ν μ¬νμΌλ‘, try λΈλ‘μ΄ μ±κ³΅μ μΌλ‘ μλ£λ κ²½μ°μλ§ μ€νλλ€.
- finally: μμΈ λ°μ μ¬λΆμ μκ΄μμ΄ νμ μ€νλλ μ½λλ₯Ό μμ±. νμΌμ μ΄μλ€λ©΄ λ«λ μμ μ μ¬κΈ°μ λ£μ μ μλ€.
# μμ μ½λ
μ¬μ©μκ° μ λ ₯ν μ«μλ₯Ό 100μΌλ‘ λλλ νλ‘κ·Έλ¨μΌλ‘,μ¬κΈ°μ λ°μν μ μλ ValueErrorμ ZeroDivisionError μμΈλ₯Ό μ²λ¦¬νλ μ½λ
try:
num = int(input("μ«μλ₯Ό μ
λ ₯νμΈμ: "))
result = 100 / num
except ValueError:
print("μ ν¨ν μ«μκ° μλλλ€. μ«μλ₯Ό μ
λ ₯ν΄μ£ΌμΈμ.")
except ZeroDivisionError:
print("0μΌλ‘ λλ μ μμ΅λλ€.")
else:
print(f"κ²°κ³Ό: {result}")
finally:
print("νλ‘κ·Έλ¨μ΄ μ’
λ£λμμ΅λλ€.")
- try λΈλ‘μμλ μ¬μ©μκ° μ λ ₯ν κ°μ μ μλ‘ λ³νν ν, 100μ κ·Έ κ°μΌλ‘ λλλ μ°μ°μ μν.
- except ValueError λΈλ‘μ μ¬μ©μκ° μ«μκ° μλ κ°μ μ λ ₯νμ λ μ€νλλ©°, "μ ν¨ν μ«μκ° μλλλ€"λΌλ λ©μμ§λ₯Ό μΆλ ₯.
- except ZeroDivisionError λΈλ‘μ μ¬μ©μκ° 0μ μ λ ₯νμ λ μ€νλλ©°, "0μΌλ‘ λλ μ μμ΅λλ€"λΌλ λ©μμ§λ₯Ό μΆλ ₯.
- else λΈλ‘μ μμΈκ° μμ κ²½μ° μ€νλλ©°, λλμ κ²°κ³Όλ₯Ό μΆλ ₯.
- finally λΈλ‘μ μμΈ λ°μ μ¬λΆμ κ΄κ³μμ΄ νμ μ€νλλ©°, "νλ‘κ·Έλ¨μ΄ μ’ λ£λμμ΅λλ€"λΌλ λ©μμ§λ₯Ό μΆλ ₯.
μ΄μ κ°μ μμΈ μ²λ¦¬ λ°©μμΌλ‘ νλ‘κ·Έλ¨μ μ€λ₯ μν©μμλ μμ νκ² μλν μ μλ€.
λ°μν
'π©βπ» hello, world! > Python' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
νμ΄μ¬ κΈ°μ΄ 08 - νμ€ λΌμ΄λΈλ¬λ¦¬ (Standard Libraries) (1) | 2024.11.02 |
---|---|
νμ΄μ¬ κΈ°μ΄ 07 - λ΄μ₯ν¨μ (0) | 2024.11.02 |
νμ΄μ¬ κΈ°μ΄ 05 - λͺ¨λ, ν¨ν€μ§ (1) | 2024.11.01 |
νμ΄μ¬ κΈ°μ΄ 04 - ν΄λμ€ (0) | 2024.11.01 |
νμ΄μ¬ κΈ°μ΄ 03 - ν¨μ (0) | 2024.10.18 |