π₯ ΠΠ°ΠΊ ΠΏΡΠΎΠ±ΡΠΎΡΠΈΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ python ΠΈ ΡΠΏΡΠ°Π²ΠΈΡΡΡΡ Ρ Π½ΠΈΠΌ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠΈ π
ΠΠ°ΠΊ ΠΏΡΠΎΠ±ΡΠΎΡΠΈΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π² Python?
ΠΠ»Ρ ΠΏΡΠΎΠ±ΡΠ°ΡΡΠ²Π°Π½ΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π² Python ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ raise. ΠΠ½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΅Π³ΠΎ Π²ΡΡΠ΅ ΠΏΠΎ ΡΡΠ΅ΠΊΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π°, Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡΠΈΠ΅, ΠΊΠ°ΠΊ ΠΏΡΠΎΠ±ΡΠΎΡΠΈΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π² Python:
# ΠΡΠΈΠΌΠ΅Ρ 1: ΠΡΠΎΠ±ΡΠΎΡΠΈΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
try:
# ΠΡΠ·ΡΠ²Π°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π±ΡΠ΄ΠΈΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
raise ValueError("ΠΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅.")
except ValueError as error:
# ΠΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
print(f"ΠΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°: {error}")
# ΠΠ°Π»Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
# ΠΡΠΈΠΌΠ΅Ρ 2: Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΎΠ±ΡΠΎΡΠΈΡΡ Π΅Π³ΠΎ
class CustomException(Exception):
pass
def some_function():
# ΠΡΠ·ΡΠ²Π°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π±ΡΠ΄ΠΈΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
raise CustomException("ΠΡΠΎ Π½Π°ΡΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.")
try:
some_function()
except CustomException as error:
# ΠΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌ Π½Π°ΡΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
print(f"ΠΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°: {error}")
# ΠΠ°Π»Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΠΏΡΠΎΠ±ΡΠΎΡΠΈΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π² Python
ΠΡΠΎΠ±ΡΠΎΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² Python - ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΡΠ΅Π³ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² Π΄ΡΡΠ³ΡΡ. ΠΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ, ΡΠ°ΠΊΠ°Ρ ΠΊΠ°ΠΊ ΠΎΡΠΈΠ±ΠΊΠ° ΠΈΠ»ΠΈ Π½Π΅ΠΏΡΠ΅Π΄Π²ΠΈΠ΄Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ±ΡΠΎΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΡΠΎΠΎΠ±ΡΠΈΡΡ ΠΎΠ± ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ.
ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ 'raise'
Π Python Π΄Π»Ρ ΠΏΡΠΎΠ±ΡΠΎΡΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ 'raise'. ΠΠΎΠ³Π΄Π° Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΠ±ΡΠΎΡΠΈΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, Π²Ρ Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ 'raise', Π° Π·Π°ΡΠ΅ΠΌ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΠ΅ ΡΠΈΠΏ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΠ±ΡΠΎΡΠΈΡΡ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ΠΎ Π²Π²Π΅ΡΡ ΠΏΠΎ ΡΡΠ΅ΠΊΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ Π·Π°Π²Π΅ΡΡΠΈΡΡΡ.
ΠΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π°
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΊΠΎΠ΄Π°, ΡΡΠΎΠ±Ρ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΠΏΡΠΎΠ±ΡΠΎΡΠΈΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π² Python.
try:
# ΠΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
raise ValueError("ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ±ΡΠΎΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ")
except ValueError as e:
# ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ±ΡΠΎΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
print(f"ΠΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅: {e}")
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ 'raise', ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ±ΡΠΎΡΠΈΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° ValueError. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΎΡΠ»Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΡΡΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±Π»ΠΎΠΊΠ° except ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅.
def divide(a, b):
if b == 0:
raise ZeroDivisionError("ΠΠ΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π½ΠΎΠ»Ρ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ")
return a / b
try:
result = divide(10, 0)
print(result)
except ZeroDivisionError as e:
print(f"ΠΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅: {e}")
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ divide, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄Π΅Π»ΠΈΡ ΠΎΠ΄Π½ΠΎ ΡΠΈΡΠ»ΠΎ Π½Π° Π΄ΡΡΠ³ΠΎΠ΅. ΠΡΠ»ΠΈ Π²ΡΠΎΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ°Π²Π½ΠΎ Π½ΡΠ»Ρ, ΠΌΡ ΠΏΡΠΎΠ±ΡΠ°ΡΡΠ²Π°Π΅ΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° ZeroDivisionError. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΎΡΠ»Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΡΡΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±Π»ΠΎΠΊΠ° except ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅.
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ, ΡΠ°ΠΊΡΡ ΠΊΠ°ΠΊ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΈΠ»ΠΈ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΡ ΡΡΠ΅ΠΊΠ°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±Π»ΠΎΠΊ except Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ:
try:
# ΠΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
raise ValueError("ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ±ΡΠΎΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ")
except (ValueError, TypeError) as e:
# ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ±ΡΠΎΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
print(f"ΠΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅: {e}")
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΎΡΠ»Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠΎΠ² ValueError ΠΈ TypeError. ΠΡΠ»ΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π»ΡΠ±ΠΎΠ΅ ΠΈΠ· ΡΡΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, ΠΌΡ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΠΎΠ±ΡΠΎΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² Python - ΡΡΠΎ ΠΌΠΎΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΈΡ Π½Π° Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ. ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ 'raise' ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠΈΠΏΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΠ±ΡΠΎΡΠΈΡΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π° ΠΈΠ· ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»Π΅Π³ΠΊΠΎ Π½Π°ΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ±ΡΠΎΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π² ΡΠ²ΠΎΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ Π½Π° Python.