ΠΠ°ΠΊ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Try Except Π² Python
Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° Python ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠΎΠΌ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ try-except ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌ ΠΈ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π΅ΠΏΡΠ΅Π΄Π²ΠΈΠ΄Π΅Π½Π½ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π½Π°ΡΡΠ΄Ρ ΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡΠΌΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ. Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ Π²Ρ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΠ΅ΡΡ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΈΠ· Π»ΡΡΡΠΈΡ ΠΏΡΠΈΠ΅ΠΌΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ try-except Π² Python.
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈΠ»ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π² Python ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½Π° ΠΏΡΡΠ΅ΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ Π±Π»ΠΎΠΊ try, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ Π²Π½ΡΡΡΠΈ Π±Π»ΠΎΠΊΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ. ΠΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ΄ ΠΏΡΠ΅ΡΡΠ²Π°Π΅ΡΡΡ Π²Π½ΡΡΡΠΈ Π±Π»ΠΎΠΊΠ° try, ΠΎΠ±ΡΡΠ½ΡΠΉ ΠΏΠΎΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ, ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π½Π° Π±Π»ΠΎΠΊ except Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ.
ΠΠ°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Try-Except / Try-Except-else? Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Try-Except ΠΈ Try-Except-Else Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΌΠ½ΠΎΠ³ΠΈΡ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΈΠ· Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΡΠ·ΠΎΠ² ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ Π² Python. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π±ΡΠΎΡΠΈΡΡ ΠΈΠ»ΠΈ Π²ΡΠ·Π²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ, ΠΏΡΠΎΡΡΠΎ Π²ΡΠ·Π²Π°Π² Π² Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅ raise Exception(βTest error!β). ΠΠΎΠ·Π½ΠΈΠΊΠ½ΡΠ²ΡΠ΅Π΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠΈΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈ ΠΏΠΎΠΉΠ΄Π΅Ρ Π΄Π°Π»ΡΡΠ΅ Π² ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ², ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½ΠΎ
ΠΠ°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ? ΠΠ½ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΡΠ΅ΡΠ°ΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ race, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½Ρ Π΄Π»Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΡΠ°ΠΊΠΈΡ ΠΎΠ±Π»Π°ΡΡΡΡ , ΠΊΠ°ΠΊ ΡΠΈΠΊΠ»Ρ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ², ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½ΡΠΌΠΈ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ , Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ΅ΡΠΈ ΠΈ Ρ.
Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π² ΡΡΠΎΠΌ ΠΏΠΎΡΡΠ΅. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ — ΡΡΠΎ ΠΈΡΠΊΡΡΡΡΠ²ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΄Π°Π΅Ρ Π²Π°ΠΌ ΠΎΠ³ΡΠΎΠΌΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ³ΠΎ ΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΡΠ°ΠΊ, ΠΏΡΠΈΠ³ΠΎΡΠΎΠ²ΡΡΠ΅ΡΡ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΡ ΠΏΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π»ΡΡΡΠΈΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ.
Python: ΡΠΎΠ²Π΅ΡΡ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Try-Except, Try-Except-Else ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅
1. ΠΠ°ΠΊ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ
ΠΠ½ΠΎΠ³Π΄Π° Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ ΡΠΏΠΎΡΠΎΠ± ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ Π»ΡΠ±ΠΎΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΈΠ»ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ.
ΠΡΠΎ Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΡΡΠΈΠΆΠΈΠΌΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Python. ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΊΠΎΠ΄ Π½ΠΈΠΆΠ΅. ΠΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΠΊΠΎΠ΄ Π²Π½ΡΡΡΠΈ Π±Π»ΠΎΠΊΠ° try ΠΊΠ°ΠΊ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅.
try: #your code except Exception as ex: print(ex)
2. ΠΠΎΠΉΠΌΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π² ΠΎΠ΄Π½ΠΎΠΌ Π±Π»ΠΎΠΊΠ΅ Except
except (Exception1, Exception2) as e: pass
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠ΄Π΅Π»ΠΈΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π°ΠΏΡΡΠΎΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠ° Π² Python 2. 6 / 2.7. ΠΠΎ Π²Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π² Python 3. ΠΠΎΡΡΠΎΠΌΡ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ as.
3. ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΎΠ΄Π½ΠΈΠΌ Π±Π»ΠΎΠΊΠΎΠΌ Except
ΠΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ. ΠΠ΅ΡΠ²ΡΠΉ ΠΈΠ· Π½ΠΈΡ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΡΡΠ΅ΠΆΠ°.
try: file = open('input-file', 'open mode') except (IOError, EOFError) as e: print("Testing multiple exceptions. {}".format(e.args[-1]))
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΌ Π±Π»ΠΎΠΊΠ΅ Except. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠΎΠ»ΡΠΊΠΎ, Except Π±Π»ΠΎΠΊΠΎΠ², ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ. Π‘ΠΌΠΎΡΡΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ Π½ΠΈΠΆΠ΅.
try: file = open('input-file', 'open mode') except EOFError as ex: print("Caught the EOF error.") raise ex except IOError as e: print("Caught the I/O error.") raise ex
ΠΠΎΡΠ»Π΅Π΄Π½Π΅Π΅, Π½ΠΎ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½ΠΎΠ΅, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π±Π΅Π· ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ Π°ΡΡΠΈΠ±ΡΡΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
try: file = open('input-file', 'open mode') except: raise
ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π΅Π½, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΈΠΌΠ΅Π΅ΡΠ΅ Π½ΠΈ ΠΌΠ°Π»Π΅ΠΉΡΠ΅Π³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ± ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ΄Π°ΡΡ Π²Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°.
4. ΠΠΎΠ²ΡΠΎΡΠ½ΡΠΉ ΠΏΡΠΎΠ±ΡΠΎΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π² Python
ΠΠΎΠ·Π½ΠΈΠΊΡΠΈΠ΅ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡΡ ΠΊ Π²ΡΠ·ΡΠ²Π°ΡΡΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Ρ. Π₯ΠΎΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΡΠΊΠ»ΡΡΠ°ΡΡΠ΅Π΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡΡΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ raise Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ². ΠΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΏΠ΅ΡΠ΅ΡΠΌΠΎΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
Π‘ΠΌΠΎΡΡΠΈΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°.
try: # ΠΡΠ΅Π΄Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎ Π±ΡΠΎΡΠΈΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅. raise Exception('I learn Python!') except: print("Entered in except.") # ΠΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅. raise
ΠΡΠ²ΠΎΠ΄:
Entered in except. Traceback (most recent call last): File "python", line 3, in Exception: I learn Python!
5. ΠΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Else
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ else ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ Π±Π»ΠΎΠΊΠ° try-except. ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ else Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΎ, ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ Π½Π΅ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅. ΠΠΏΠ΅ΡΠ°ΡΠΎΡ else Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ Π±Π»ΠΎΠΊΠ°ΠΌ except.
Π Π±Π»ΠΎΠΊΠΈ else Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ, Π΅ΡΠ»ΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ Π½Π΅ Π±ΡΠ»ΠΎ.
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½ΠΈΠΆΠ΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ» while. ΠΠΎΠ΄ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Π²Π²ΠΎΠ΄ Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ, Π° Π·Π°ΡΠ΅ΠΌ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ Π΅Π³ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ int(). ΠΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²ΠΎΠ΄ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½ΠΎΠ»Ρ, ΡΠΎΠ³Π΄Π° Π±Π»ΠΎΠΊΠΎΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡ ΡΡΠΏΠ΅Ρ . Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡΡ ΡΠ΅ΡΠ΅Π· Π±Π»ΠΎΠΊ else.
while True: x = int(input()) try: result = 1 / x except: print("Error case") exit(0) else: print("Pass case") exit(1)
6. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Finally
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ Π²ΠΎ Π²ΡΠ΅Ρ
ΡΠΈΡΡΠ°ΡΠΈΡΡ
, Π½Π°ΠΏΠΈΡΠΈΡΠ΅ Π΅Π³ΠΎ Π² Π±Π»ΠΎΠΊΠ΅
ΠΡΠΈΠ±ΠΊΠ° ΠΏΠΎΠΉΠΌΠ°Π½Π° Π² Π±Π»ΠΎΠΊΠ΅ try. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ Π² Π±Π»ΠΎΠΊΠ΅ except Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½, ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π² Π±Π»ΠΎΠΊΠ΅ finally Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π±Π»ΠΎΠΊ finally Π±ΡΠ΄Π΅Ρ ΠΠ‘ΠΠΠΠ ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²Ρ Π²Π΅ΡΠ½ΡΠ»ΠΈΡΡ ΡΠ°Π½ΡΡΠ΅ Π½Π΅Π³ΠΎ.
Π‘ΠΌΠΎΡΡΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ Π½ΠΈΠΆΠ΅.
try: x = 1 / 0 except: print("Error occurred") finally: print("The [finally clause] is hit")
ΠΡΠ²ΠΎΠ΄:
Error occurred The [finally clause] is hit
7. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ As Π΄Π»Ρ ΠΎΡΠ»ΠΎΠ²Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΈΠΏΠΎΠ² ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ.
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ. Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ IOError ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ.
try: f = open("no-file") except IOError as err: print("Error:", err) print("Code:", err. errno)
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
('Error:', IOError(2, 'No such file or directory')) ('Code:', 2)
8. ΠΡΡΡΠ°Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ
ΠΠ·Π±Π΅Π³Π°ΠΉΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²Ρ ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π΅ΡΠ΅, ΡΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠ΅Π½Ρ ΠΈ Π²ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π»ΡΡΡΠ°Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄Π½ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, Π±Π»ΠΈΠ·ΠΊΠΎΠ΅ ΠΊ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅.
ΠΠ»ΠΎΡ ΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
def bad_exception(): try: raise ValueError('Intentional - do not want this to get caught') raise Exception('Exception to be handled') except Exception as error: print('Inside the except block: ' + repr(error)) bad_exception()
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
Inside the except block: ValueError('Intentional - do not want this to get caught',)
ΠΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ»ΡΡΡΠ΅:
ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΡΠΈΠΏ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, Π° Π½Π΅ ΠΎΠ±ΡΠΈΠΉ ΡΠΈΠΏ. Π ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΎΠΏΡΠΈΡ args Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π½Π΅Π²Π΅ΡΠ½ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π΅ΡΡΡ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ.
try: raise ValueError('Testing exceptions: The input is in incorrect order', 'one', 'two', 'four') except ValueError as err: print(err.args)
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
('Testing exceptions: The input is in incorrect order', 'one', 'two', 'four')
9. ΠΠ°ΠΊ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅
Π ΠΈΠ΄Π΅Π°Π»Π΅, Π²Ρ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΡΠΎΠ³ΠΎ Π΄Π΅Π»Π°ΡΡ. ΠΠΎ Π΅ΡΠ»ΠΈ Π²Ρ Π²ΡΠ΅ Π΅ΡΠ΅ Ρ ΠΎΡΠΈΡΠ΅ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΠ»Π΅Π΄ΡΠΉΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌΡ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄Ρ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄.
try: assert False except AssertionError: pass print('Welcome to Prometheus!!!')
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
Welcome to Prometheus!!!
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Python ΠΈ ΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΡ.
ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ Exception Errors:
- IOError — ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΈ ΠΎΡΠΈΠ±ΠΊΠ°Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ» Π½Π΅ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ.
- ImportError — ΠΡΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ Python Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°Π³ΡΡΠΆΠ΅Π½ ΠΈΠ»ΠΈ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½.
- ValueError — ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, Π΅ΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, Π½ΠΎ Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
- KeyboardInterrupt — ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²ΠΎΠ΄ΠΈΡ ΠΊΠ»ΡΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ (Ρ.Π΅. Control-C ΠΈΠ»ΠΈ Del Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ)
- EOFError — ΠΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ (input() / raw_input()) ΠΏΠΎΠΏΠ°Π΄Π°ΡΡ Π² ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ° ΡΠ°ΠΉΠ»Π° (EOF), Π½ΠΎ Π±Π΅Π· ΡΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ Π΄Π°Π½Π½ΡΡ .
ΠΡΠΈΠΌΠ΅ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ
except IOError: print('Error occurred while opening the file.') except ValueError: print('Non-numeric input detected.') except ImportError: print('Unable to locate the module.') except EOFError: print('Identified EOF error.') except KeyboardInterrupt: print('Wrong keyboard input.') except: print('An error occurred.')
Π Π΅Π·ΡΠΌΠ΅ — ΠΠ°ΠΊ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Try-Except Π² Python
ΠΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΎΡΠΈΠ±ΠΊΠΈ Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½Ρ. ΠΡΠΎ ΡΠ°ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΠΈΠΊΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ. Π ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΡΠΈΠ½ Π΄Π»Ρ ΠΎΡΠΈΠ±ΠΎΠΊ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π²Π²ΠΎΠ΄ Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ, Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΠ΅ ΠΏΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ, Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠ°, Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠ»ΠΈ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΎΡΠΈΠ±ΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°.
Π Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π²ΡΠ΅ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½ΠΎ, Π΅ΡΠ»ΠΈ Π²Π°Ρ ΠΊΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ Π΅Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΠΊΠΈΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ, ΠΊΠ°ΠΊ try-except ΠΈΠ»ΠΈ try-except-else, try-except-finally.
Python | ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ
ΠΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅: 27.04.2017
ΠΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° Python ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ Ρ Π΄Π²ΡΠΌΡ ΡΠΈΠΏΠ°ΠΌΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΠ΅ΡΠ²ΡΠΉ ΡΠΈΠΏ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ (syntax error). ΠΠ½ΠΈ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π½Π°ΡΡΡΠ΅Π½ΠΈΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ ΡΠ°ΠΊΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π°. ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π² ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΡΠ΅Π΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² PyCharm, IDE ΡΠ°ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΈΡ Π²ΡΠ΄Π΅Π»ΡΡΡ.
ΠΡΠΎΡΠΎΠΉ ΡΠΈΠΏ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ (runtime error). ΠΠ½ΠΈ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π² ΡΠΆΠ΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π΅Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ Π΅ΡΠ΅ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΏΡΠΎΡΠ»ΡΡ ΡΠ΅ΠΌΠ°Ρ ΠΌΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΡΠ»Π° Π² ΡΡΡΠΎΠΊΡ:
string = "5" number = int(string) print(number)
ΠΠ°Π½Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΡΠΎΠΊΠ° «5» Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°Π½Π° Π² ΡΠΈΡΠ»ΠΎ. ΠΠ΄Π½Π°ΠΊΠΎ Π²ΠΎΠ·ΡΠΌΠ΅ΠΌ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
string = "hello" number = int(string) print(number)
ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ° Π±ΡΠ΄Π΅Ρ Π²ΡΠ±ΡΠΎΡΠ΅Π½ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ValueError, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΡΠΎΠΊΡ «hello» Π½Π΅Π»ΡΠ·Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π² ΡΠΈΡΠ»ΠΎ. Π‘ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Π·Π΄Π΅ΡΡ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΡΡΡΠΎΠΊΠ° Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΈΡΠ»ΠΎ, Π½ΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠΌΠ΅ΡΡ Π΄Π΅Π»ΠΎ Ρ Π²Π²ΠΎΠ΄ΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²Π²Π΅ΡΡΠΈ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠΎ, ΡΡΠΎ ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌ:
string = input("ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠΈΡΠ»ΠΎ: ") number = int(string) print(number)
ΠΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠ΅ΡΡΠ²Π°Π΅ΡΡΡ, ΠΈ ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² Python Π΅ΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ try. .except, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅:
try: ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ except [Π’ΠΈΠΏ_ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ]: ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ
ΠΠ΅ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠ΄, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° try. ΠΡΠ»ΠΈ Π² ΡΡΠΎΠΌ ΠΊΠΎΠ΄Π΅ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΡΠΎ ΡΠ°Π±ΠΎΡΠ° ΠΊΠΎΠ΄Π° Π² Π±Π»ΠΎΠΊΠ΅ try ΠΏΡΠ΅ΡΡΠ²Π°Π΅ΡΡΡ, ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ Π² Π±Π»ΠΎΠΊ except.
ΠΠΎΡΠ»Π΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° except ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ValueError ΠΈΠ»ΠΈ KeyError). ΠΠΎΡΠ»Π΅ ΡΠ»ΠΎΠ²Π° except Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠΎΠΊΠ΅ ΠΈΠ΄ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π±Π»ΠΎΠΊΠ° except, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΠΏΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΡΠΎΠΊΠΈ Π² ΡΠΈΡΠ»ΠΎ:
try: number = int(input("ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠΈΡΠ»ΠΎ: ")) print("ΠΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ:", number) except: print("ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ»ΠΎ Π½Π΅ΡΠ΄Π°ΡΠ½ΠΎ") print("ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ")
ΠΠ²ΠΎΠ΄ΠΈΠΌ ΡΡΡΠΎΠΊΡ:
ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠΈΡΠ»ΠΎ: hello ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ»ΠΎ Π½Π΅ΡΠ΄Π°ΡΠ½ΠΎ ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π°, ΠΏΡΠΈ Π²Π²ΠΎΠ΄Π΅ ΡΡΡΠΎΠΊΠΈ Π²ΡΠ²ΠΎΠ΄ ΡΠΈΡΠ»Π° Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ Π±Π»ΠΎΠΊΡ except.
ΠΠ²ΠΎΠ΄ΠΈΠΌ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ:
ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠΈΡΠ»ΠΎ: 22 ΠΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ: 22 ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
Π’Π΅ΠΏΠ΅ΡΡ Π²ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ, ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ Π±Π»ΠΎΠΊ except Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ.
Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π»ΠΈΡΡ ΡΡΠ°Π·Ρ Π²ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ Π² ΠΊΠΎΠ΄Π΅. ΠΠ΄Π½Π°ΠΊΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΠΏ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΡΠΊΠ°Π·Π°Π² Π΅Π³ΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠ»ΠΎΠ²Π° except:
try: number = int(input("ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠΈΡΠ»ΠΎ: ")) print("ΠΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ:", number) except ValueError: print("ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ»ΠΎ Π½Π΅ΡΠ΄Π°ΡΠ½ΠΎ") print("ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ")
ΠΡΠ»ΠΈ ΡΠΈΡΡΠ°ΡΠΈΡ ΡΠ°ΠΊΠΎΠ²Π°, ΡΡΠΎ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΈΠΏΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, ΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΡΡΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ except:
try: number1 = int(input("ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ: ")) number2 = int(input("ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π²ΡΠΎΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ: ")) print("Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π΄Π΅Π»Π΅Π½ΠΈΡ:", number1/number2) except ValueError: print("ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ»ΠΎ Π½Π΅ΡΠ΄Π°ΡΠ½ΠΎ") except ZeroDivisionError: print("ΠΠΎΠΏΡΡΠΊΠ° Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΈΡΠ»Π° Π½Π° Π½ΠΎΠ»Ρ") except Exception: print("ΠΠ±ΡΠ΅Π΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅") print("ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ")
ΠΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ Π² ΡΠΈΡΠ»ΠΎ, ΡΠΎ ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½ΠΎ Π±Π»ΠΎΠΊΠΎΠΌ except ValueError
.
ΠΡΠ»ΠΈ ΠΆΠ΅ Π²ΡΠΎΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ Π½ΡΠ»Ρ, ΡΠΎ Π΅ΡΡΡ Π±ΡΠ΄Π΅Ρ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π½ΠΎΠ»Ρ, ΡΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ZeroDivisionError, ΠΈ ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½ΠΎ Π±Π»ΠΎΠΊΠΎΠΌ
except ZeroDivisionError
.
Π’ΠΈΠΏ Exception ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠ±ΡΠ΅Π΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠ΄ ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠΏΠ°Π΄Π°ΡΡ Π²ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ. ΠΠΎΡΡΠΎΠΌΡ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅
Π»ΡΠ±ΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΈΠΏ ValueError ΠΈΠ»ΠΈ ZeroDivisionError, Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½ΠΎ Π² Π±Π»ΠΎΠΊΠ΅ except Exception:
.
ΠΠ»ΠΎΠΊ finally
ΠΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π±Π»ΠΎΠΊ finally. ΠΡΠ»ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ ΡΡΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΎΠ½ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π²Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, Π±ΡΠ»ΠΎ Π»ΠΈ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅:
try: number = int(input("ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠΈΡΠ»ΠΎ: ")) print("ΠΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ:", number) except ValueError: print("ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΡΠΈΡΠ»ΠΎ") finally: print("ΠΠ»ΠΎΠΊ try Π·Π°Π²Π΅ΡΡΠΈΠ» Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅") print("ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ")
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π±Π»ΠΎΠΊ finally ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΠ΅ΡΡΡΡΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π·Π°ΠΊΡΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ².
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° as ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΡ Π·Π°ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π±Π»ΠΎΠΊΠ΅ except:
try: number = int(input("ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠΈΡΠ»ΠΎ: ")) print("ΠΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ:", number) except ValueError as e: print("Π‘Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠ± ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ", e) print("ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ")
ΠΡΠΈΠΌΠ΅Ρ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°:
ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠΈΡΠ»ΠΎ: fdsf Π‘Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠ± ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ invalid literal for int() with base 10: 'fdsf' ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ
ΠΠ½ΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π²ΡΡΡΠ½ΡΡ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ raise.
try: number1 = int(input("ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ: ")) number2 = int(input("ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π²ΡΠΎΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ: ")) if number2 == 0: raise Exception("ΠΡΠΎΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠ°Π²Π½ΠΎ 0") print("Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π΄Π΅Π»Π΅Π½ΠΈΡ Π΄Π²ΡΡ ΡΠΈΡΠ΅Π»:", number1/number2) except ValueError: print("ΠΠ²Π΅Π΄Π΅Π½Ρ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅") except Exception as e: print(e) print("ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ")
ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΅ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π·Π°ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ²Π΅ΡΡΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ:
ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ: 1 ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π²ΡΠΎΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ: 0 ΠΡΠΎΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠ°Π²Π½ΠΎ 0 ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΡΠΎ Ρ ΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ try-except-else Π² Python?
Π ΡΠ΅ΠΌ ΠΏΡΠΈΡΠΈΠ½Π° ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ try-except-else?
ΠΠ»ΠΎΠΊ try
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΡ ΠΎΡΠΈΠ±ΠΊΡ. ΠΠ»ΠΎΠΊ except
Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅ΡΠ΅Ρ
Π²Π°ΡΡΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Π³ΠΎΡΠΎΠ²Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΡΠ»ΠΈ Π²Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΡΡ ΠΎΡΠΈΠ±ΠΊΡ, Π²Π°Ρ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ-ΡΠΎ Π½Π΅ ΡΠ°ΠΊ ΠΈ ΡΠΊΡΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ else
Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ, Π΅ΡΠ»ΠΈ Π½Π΅ Π±ΡΠ»ΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΈ, Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΡ ΡΡΠΎΡ ΠΊΠΎΠ΄ Π² Π±Π»ΠΎΠΊΠ΅ try
, Π²Ρ ΠΈΠ·Π±Π΅ΠΆΠΈΡΠ΅ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ. ΠΠΏΡΡΡ ΠΆΠ΅, ΠΏΠ΅ΡΠ΅Ρ
Π²Π°Ρ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠΊΡΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
ΠΡΠΈΠΌΠ΅Ρ
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
try:
try_this(whatever)
except SomeException as the_exception:
handle(the_exception)
else:
return something
Π Π½Π°Π±ΠΎΡΠ΅ «try, except» Π΅ΡΡΡ Π΄Π²Π° Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ
ΠΏΡΠ½ΠΊΡΠ°, else
ΠΈ finally
. Π’Π°ΠΊ ΡΡΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΡΠΎ try-except-else-finally
.
else
Π±ΡΠ΄Π΅Ρ Π²ΡΡΠΈΡΠ»ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π½Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ· Π±Π»ΠΎΠΊΠ° try
. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΡΠΏΡΠΎΡΡΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΠΊΠΎΠ΄ Π½ΠΈΠΆΠ΅:
no_error = None
try:
try_this(whatever)
no_error = True
except SomeException as the_exception:
handle(the_exception)
if no_error:
return something
ΠΏΠΎΡΡΠΎΠΌΡ, Π΅ΡΠ»ΠΈ ΠΌΡ ΡΡΠ°Π²Π½ΠΈΠΌ else
Ρ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²ΠΎΠΉ (ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ), ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΠΎΠ½Π° ΡΠΎΠΊΡΠ°ΡΠ°Π΅Ρ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°, ΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΡΡ, ΡΠ΅ΠΌΠΎΠ½ΡΠΎΠΏΡΠΈΠ³ΠΎΠ΄Π½ΡΡ ΠΈ ΠΌΠ΅Π½Π΅Π΅ Π³Π»ΡΡΠ½ΡΡ ΠΊΠΎΠ΄ΠΎΠ²ΡΡ Π±Π°Π·Ρ.
finally
finally
Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π½ΠΈ ΠΎΡ ΡΠ΅Π³ΠΎ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π΄ΡΡΠ³Π°Ρ ΡΡΡΠΎΠΊΠ° Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° return.
Π Π°Π·Π±ΠΈΠ²ΠΊΠΎΠΉ Ρ ΠΏΡΠ΅Π²Π΄ΠΎ-ΠΊΠΎΠ΄
ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ ΡΠ°Π·Π±ΠΈΡΡ ΡΡΠΎ Π½Π° ΡΠ°ΡΡΠΈ, Π² ΡΠ°ΠΌΠΎΠΉ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ ΡΠΎΡΠΌΠ΅, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠΈ. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΡΡΠΎΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ (Π½ΠΎ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ, Π΅ΡΠ»ΠΈ ΠΈΠΌΠ΅Π½Π° Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ) ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
try:
try_this(whatever)
except SomeException as the_exception:
handle_SomeException(the_exception)
# Handle a instance of SomeException or a subclass of it.
except Exception as the_exception:
generic_handle(the_exception)
# Handle any other exception that inherits from Exception
# - doesn't include GeneratorExit, KeyboardInterrupt, SystemExit
# Avoid bare `except:`
else: # there was no exception whatsoever
return something()
# if no exception, the "something()" gets evaluated,
# but the return will not be executed due to the return in the
# finally block below.
finally:
# this block will execute no matter what, even if no exception,
# after "something" is eval'd but before that value is returned
# but even if there is an exception.
# a return here will hijack the return functionality. e.g.:
return True # hijacks the return in the else clause above
ΠΡΠΎ ΠΏΡΠ°Π²Π΄Π°, ΡΡΠΎ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΊΠΎΠ΄ Π² Π±Π»ΠΎΠΊ else
Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π² Π±Π»ΠΎΠΊ try
, Π³Π΄Π΅ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π΅ΡΠ»ΠΈ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, Π½ΠΎ ΡΡΠΎ, Π΅ΡΠ»ΠΈ ΡΡΠΎΡ ΠΊΠΎΠ΄ ΡΠ°ΠΌ Π²ΡΠ·ΠΎΠ²Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Π»ΠΎΠ²ΠΈΠΌ? ΠΡΡΠ°Π²ΠΈΠ² Π΅Π³ΠΎ Π² Π±Π»ΠΎΠΊΠ΅ try
, ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΡΠΊΡΡΡΡ ΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ.
ΠΡ Ρ
ΠΎΡΠΈΠΌ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° Π² Π±Π»ΠΎΠΊΠ΅ try
, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠ΅ΡΠ΅Ρ
Π²Π°ΡΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΡ
ΠΌΡ Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Π»ΠΈ, Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠΌ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π½Π°Ρ ΠΊΠΎΠ΄ ΡΠ΅ΡΠΏΠΈΡ Π½Π΅ΡΠ΄Π°ΡΡ, ΠΌΡ Ρ
ΠΎΡΠΈΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠ½ ΠΏΠΎΡΠ΅ΡΠΏΠ΅Π» Π½Π΅ΡΠ΄Π°ΡΡ Π³ΡΠΎΠΌΠΊΠΎ. ΠΡΠΎ Π»ΡΡΡΠ°Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° .
ΠΠ°ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ-ΡΡΠΎ Π½Π΅ ΠΎΡΠΈΠ±ΠΊΠΈ
Π Python Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΡΠ²Π»ΡΡΡΡΡ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ.
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ pydoc. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Python 2:
$ python -m pydoc exceptions
ΠΈΠ»ΠΈ Python 3:
$ python -m pydoc builtins
ΠΠ°ΡΡ Π½Π°ΠΌ ΠΈΠ΅ΡΠ°ΡΡ
ΠΈΡ. ΠΡ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π²ΠΈΠ΄ΠΎΠ² Exception
ΡΠ²Π»ΡΡΡΡΡ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ, Ρ
ΠΎΡΡ Python ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ
Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ
Π²Π΅ΡΠ΅ΠΉ, ΠΊΠ°ΠΊ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΠ»ΠΎΠ² for
( StopIteration
). ΡΡΠΎ ΠΈΠ΅ΡΠ°ΡΡ
ΠΈΡ Python 3:
BaseException
Exception
ArithmeticError
FloatingPointError
OverflowError
ZeroDivisionError
AssertionError
AttributeError
BufferError
EOFError
ImportError
ModuleNotFoundError
LookupError
IndexError
KeyError
MemoryError
NameError
UnboundLocalError
OSError
BlockingIOError
ChildProcessError
ConnectionError
BrokenPipeError
ConnectionAbortedError
ConnectionRefusedError
ConnectionResetError
FileExistsError
FileNotFoundError
InterruptedError
IsADirectoryError
NotADirectoryError
PermissionError
ProcessLookupError
TimeoutError
ReferenceError
RuntimeError
NotImplementedError
RecursionError
StopAsyncIteration
StopIteration
SyntaxError
IndentationError
TabError
SystemError
TypeError
ValueError
UnicodeError
UnicodeDecodeError
UnicodeEncodeError
UnicodeTranslateError
Warning
BytesWarning
DeprecationWarning
FutureWarning
ImportWarning
PendingDeprecationWarning
ResourceWarning
RuntimeWarning
SyntaxWarning
UnicodeWarning
UserWarning
GeneratorExit
KeyboardInterrupt
SystemExit
— Π‘ΠΏΡΠΎΡΠΈΠ» ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΎΡ:
ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΈΠ½Π³ΡΠ΅Ρ Π²Π½Π΅ΡΠ½ΠΈΠΉ API, ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π² ΠΊΠ»Π°ΡΡΠ΅ Π²Π½Π΅ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ API, Π²Ρ ΠΏΡΠΎΡΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΠ΅ e ΠΈΠ· ΠΌΠ΅ΡΠΎΠ΄Π° Π² ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ except, Π³Π΄Π΅ e — ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ?
ΠΠ΅Ρ, Π²Ρ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΠ΅ Π΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π³ΠΎΠ»ΠΎΠ³ΠΎ raise
, ΡΡΠΎΠ±Ρ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΡ ΡΡΠ΅ΠΊΠ°.
try:
try_this(whatever)
except SomeException as the_exception:
handle(the_exception)
raise
ΠΠ»ΠΈ, Π² Python 3, ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ Π΄ΠΎΡΠΎΠΆΠΊΡ Ρ ΡΠ΅ΠΏΠΎΡΠΊΠΎΠΉ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ:
try:
try_this(whatever)
except SomeException as the_exception:
handle(the_exception)
raise DifferentException from the_exception
ΠΠ΄Π΅ΡΡ Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡ Π½Π° ΡΠ²ΠΎΠ΅ΠΌ ΠΎΡΠ²Π΅ΡΠ΅ .
try except finally Π² Python
ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°Π΄Π°ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΊΠΎΠ΄ Β«ΡΠ±ΠΎΡΠΊΠΈΒ» Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ.
ΠΠ°Π½Π½Π°Ρ ΡΠΎΡΡΠ°Π²Π½Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΊΠΎΠ΄Π°, ΠΈΠ΄ΡΡΠ΅Π³ΠΎ Π² Π±Π»ΠΎΠΊΠ΅ try.class MyException1(Exception): pass
class MyChildException1(MyException1): passclass MyException2(Exception): pass
class MyChildException2(MyException2): pass
class MyException3(Exception): pass
class MyChildException3(MyException3): pass
def make_exception(exception_type):
try:
raise exception_type()
except MyChildException1:
print('MyChildException1')
except (MyChildException2, MyException3):
print('MyChildException2, MyException3')
except:
print('broad except')
make_exception(MyChildException1) # MyChildException1
make_exception(MyException2) # broad except
make_exception(MyChildException3) # MyChildException2, MyException3
ΠΠ»ΠΎΠΊ try
- ΠΡΠ»ΠΈ Π² Ρ ΠΎΠ΄Π΅ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π½Π΅ Π±ΡΠ΄Π΅Ρ, ΡΠΎ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π½Π΅ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΡΠ΅ΡΡΡ.
- ΠΡΠ»ΠΈ Π² Ρ ΠΎΠ΄Π΅ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ Π² ΡΡΠΎΠΌ Π±Π»ΠΎΠΊΠ΅ Π±ΡΠ΄Π΅Ρ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΡΠΎ Π½Π°ΡΠ½ΡΡΡΡ ΠΏΠΎΠΈΡΠΊ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ Π΄Π»Ρ Π½Π΅Π³ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°. ΠΠΎΠΈΡΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎ Π±Π»ΠΎΠΊΠ°ΠΌ except ΠΏΠΎΠΎΡΠ΅ΡΡΠ΄Π½ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠΈΠ΅ ΡΠΈΠΏΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ (Π±Π°Π·ΠΎΠ²ΡΠ΅) ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΡΡΠ°Π²ΠΈΡΡ ΠΏΠΎΡΠ»Π΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ·ΠΊΠΈΡ .
ΠΠ»ΠΎΠΊ except
Π’Π°ΠΊΠΈΡ Π±Π»ΠΎΠΊΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ²ΠΎΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ (ΠΈΠ»ΠΈ Π³ΡΡΠΏΠΏΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ). ΠΡΠ΅ Π±Π»ΠΎΠΊΠΈ except Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ ΡΠ΅Π»ΠΎ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
ΠΠΎΡΠ»Π΅ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ° Π±Π»ΠΎΠΊΠ° ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ Ρ ΠΌΠ΅ΡΡΠ°, ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π·Π° Π²ΡΠ΅ΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ. ΠΠ· ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ, ΡΡΠΎ Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π΄ΡΡΠ³ Π² Π΄ΡΡΠ³Π°, ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² ΡΠ΅Π»Π΅ Π±Π»ΠΎΠΊΠ° try ΡΠ°ΠΌΠΎΠ³ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ, ΡΠΎ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½ΠΎ ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΌΡΠΌ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ.
- ΠΡΠ»ΠΈ Π±Π»ΠΎΠΊ except ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π±Π΅Π· ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π·Π° Π½ΠΈΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΠΎ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π² Π½ΡΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π»ΡΠ±ΡΡ ΡΠΈΠΏΠΎΠ².
- ΠΡΠ»ΠΈ Π·Π° Π±Π»ΠΎΠΊΠΎΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎ ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ. ΠΡΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΌ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡ Β«ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΒ» Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ, ΡΠΎ Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠ΅ΡΡ Π² Π΄Π°Π½Π½ΠΎΠΌ Π±Π»ΠΎΠΊΠ΅. ΠΠ±ΡΠ΅ΠΊΡ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΌ Ρ ΠΏΠΎΠ΄Π½ΡΡΡΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ, Π΅ΡΠ»ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ»Π°ΡΡΠΎΠΌ (Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΡΠΌ, Π»ΠΈΠ±ΠΎ Π±Π°Π·ΠΎΠ²ΡΠΌ) ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, Π»ΠΈΠ±ΠΎ ΠΊΠΎΡΡΠ΅ΠΆΠ΅ΠΌ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΌ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΉ Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ.
- ΠΡΠ»ΠΈ Π² Ρ ΠΎΠ΄Π΅ ΠΏΠΎΠΈΡΠΊΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π½Π°ΠΉΠ΄Π΅Π½ Π½Π΅ Π±ΡΠ΄Π΅Ρ, ΡΠΎ ΠΏΠΎΠΈΡΠΊ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡΠ΅Π΄ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΎΠΊΡΡΠΆΠ°ΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΠΎ ΡΡΠ΅ΠΊΡ.
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎ ΡΡΠ΅ΠΊΡ Π²ΡΠ·ΠΎΠ²Π°, Π΅ΡΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Π΅Π³ΠΎ ΠΏΡΡΠΈ Π½Π΅ Π²ΡΡΡΠ΅ΡΠΈΡΡΡ Π±Π»ΠΎΠΊ finally, Π²ΠΎΠ·Π±ΡΠΆΠ΄Π°ΡΡΠΈΠΉ Π΄ΡΡΠ³ΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠ΅ΠΆΠ½Π΅Π΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ Β«ΠΏΠΎΡΠ΅ΡΡΠ½ΠΎΒ» ΠΈΠ·-Π·Π° Π½ΠΎΠ²ΠΎΠ³ΠΎ.
- ΠΡΠ»ΠΈ Π² Ρ ΠΎΠ΄Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² Π±Π»ΠΎΠΊΠ΅ except Π±ΡΠ΄Π΅Ρ ΡΠ»ΡΡΠΈΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΡΠΎ ΠΏΠΎΠΈΡΠΊ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΏΡΠ΅ΡΡΠ²Π°Π΅ΡΡΡ. ΠΡΠΈ ΡΡΠΎΠΌ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΠΏΠΎΠΈΡΠΊ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π² ΠΎΠΊΡΡΠΆΠ°ΡΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅ ΠΈ ΠΏΠΎ ΡΡΠ΅ΠΊΡ Π²ΡΠ·ΠΎΠ²Π°. ΠΡΠΈ ΡΡΠΎΠΌ ΡΡΠΈΡΠ°Π΅ΡΡΡ, ΡΡΠΎ Π²ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ try except ΠΏΠΎΡΠΎΠ΄ΠΈΠ»Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
- ΠΡΠ»ΠΈ Π½Π°ΠΉΠ΄Π΅Π½ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠΈΠΉ Π±Π»ΠΎΠΊ except, ΡΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π°Π·Π½Π°ΡΠ°Π΅ΡΡΡ ΠΈΠΌΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°
as
(Π΄ΠΎ +py.2.5 Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ°Π»ΡΡ Π·Π°ΠΏΡΡΠ°Ρ,
). ΠΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠ΄ Π² ΡΠ΅Π»Π΅ Π±Π»ΠΎΠΊΠ°.
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊΠΈ, ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΡΠΌΠ°Ρ
%r
Π²ΠΌΠ΅ΡΡΠΎ %s
. Π’Π°ΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ° Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠΉ Π² ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡ, Π½ΠΎ ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.ΠΡΠ»ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΎ ΠΈΠΌΡ, ΡΠΎ ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΈΡΠ΅Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠ° except. Π’Π°ΠΊ ΡΠ΄Π΅Π»Π°Π½ΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»Π΅Π½Π½ΠΎΠΉ ΠΊ Π½Π΅ΠΌΡ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΡΡΠ΅ΠΊΠ°, ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ ΡΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΡΡ ΡΡΡΠ»ΠΊΡ ΡΠΎ ΡΡΠ΅ΠΉΠΌΠΎΠΌ ΡΡΠ΅ΠΊΠ°, Π³Π΄Π΅ Ρ ΡΠ°Π½ΡΡΡΡ Π²ΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π΄ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠ±ΠΎΡΠΊΠΈ ΠΌΡΡΠΎΡΠ°.
try:
raise Exception('arg1', 'arg2')except Exception as e:
print(e)
# >> ('arg1', 'arg2')
ΠΠ΅ΡΠ΅Π΄ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π±Π»ΠΎΠΊΠ° except, Π΄Π°Π½Π½ΡΠ΅ ΠΎΠ± ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ Π² ΠΌΠΎΠ΄ΡΠ»Π΅
sys
ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Ρ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ sys.exc_info()
.ΠΠΎ +py2.5 Π½Π΅Π»ΡΠ·Ρ Π±ΡΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ except ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ Ρ finally, ΡΠΎ Π΅ΡΡΡ, ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π»ΠΈ Π΄Π²Π΅ ΡΠΎΡΠΌΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ: try ... except
ΠΈ try ... finally
.
ΠΠ»ΠΎΠΊ else
ΠΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π² ΡΡΠΎΠΌ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠΌ Π±Π»ΠΎΠΊΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠ° try Π±Π΅Π· ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ Π±Π΅Π·
return
, continue
ΠΈ break
.def make_exception():try:
return 'try'
except:
return 'except'
else:
return 'else'
make_exception() # 'try'
ΠΠ»ΠΎΠΊ finally
Π ΡΡΠΎΠΌ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π±Π»ΠΎΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΊΠΎΠ΄ Β«ΡΠ±ΠΎΡΠΊΠΈΒ». ΠΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΈΠ· ΡΡΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΠΏΡΠΎΡΠΈΡ Π±Π»ΠΎΠΊΠΎΠ², Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π΅ΡΠ»ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π΅ Π±ΡΠ»ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½ΠΎ (Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·Π±ΡΠΆΠ΄Π΅Π½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π² ΠΊΠΎΠ½ΡΠ΅ Π±Π»ΠΎΠΊΠ° finally Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ) ΠΈ Π΅ΡΠ»ΠΈ Π² Π±Π»ΠΎΠΊΠ΅ try ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ
return
ΠΈΠ»ΠΈ break
. ΠΡΠΈ ΡΡΠΎΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Π°.Π ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡ
ΡΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ continue
Π² Π±Π»ΠΎΠΊΠ΅ finally Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ.
ΠΡΠ»ΠΈ Π² Π±Π»ΠΎΠΊΠ΅ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ
return
ΠΈΠ»ΠΈ break
ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ (Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ Π±ΡΠ»ΠΎ) Π±ΡΠ΄Π΅Ρ ΡΡΠ΅ΡΡΠ½Π°:def make_exception():
try:
1/0finally:
return 'finally'
make_exception() # 'finally'
+py3.0 ΠΡΠ»ΠΈ Π² Π±Π»ΠΎΠΊΠ΅ finally Π²ΠΎΠ·Π±ΡΠΆΠ΄Π°Π΅ΡΡΡ Π½ΠΎΠ²ΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΡΠΎ Π΅ΠΌΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π±ΡΠ΄Π΅Ρ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΎ ΠΏΡΠ΅ΠΆΠ½Π΅Π΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅. ΠΠΎ -py3.0 Π² ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΠ΅ΡΡΠ»Π°ΡΡ.
+py3.8 Π’Π΅ΠΏΠ΅ΡΡ Π² Π±Π»ΠΎΠΊΠ΅ finally ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ continue.
Π‘ΠΊΠΎΡΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
Π‘Π°ΠΌΠ° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ Π²Π΅ΡΡΠΌΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½Π°, Π΅ΡΠ»ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π΅ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°ΡΡΡΡ. ΠΠΎΡΠΎΠ³ΠΎ ΠΎΠ±Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΎΡΠ»ΠΎΠ² ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
ΠΠΎ Π²Π΅ΡΡΠΈΠΈ +py2.0 ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠ°ΡΡΠΎ Π²ΠΈΠ΄Π΅ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π²ΠΈΠ΄Π°:
try:
value = mydict[key]
except KeyError:
mydict[key] = getvalue(key)
value = mydict[key]
ΠΡΠΎ ΠΈΠΌΠ΅Π»ΠΎ ΡΠΌΡΡΠ» Π»ΠΈΡΡ ΠΊΠΎΠ³Π΄Π° ΠΊΠ»ΡΡ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°Π» Π² ΡΠ»ΠΎΠ²Π°ΡΠ΅ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π².
ΠΠ½Π°ΡΠ΅ ΠΊΠΎΠ΄ Π²ΡΠ³Π»ΡΠ΄Π΅Π» ΡΠ°ΠΊ:
if key in mydict:
value = mydict[key]
else:
value = mydict[key] = getvalue(key)
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
value = dict.setdefault(key, getvalue(key))
, Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ Π²ΡΠ·ΠΎΠ² getvalue()
Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄ΡΡΠ΅Π² (ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΎ).goto
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½ΠΈΠΆΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π² ΡΠ»ΡΡΠ°ΡΡ Π½Π°ΡΡΡΠ½ΠΎΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π±Π΅Π· ΡΠ°Π½Π°ΡΠΈΠ·ΠΌΠ°.
ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠΎΡΡΠ΄ΠΈΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ go
ΠΈ goto
ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ
ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
class label(Exception): pass # ΠΌΠ΅ΡΠΊΠ° Π΄Π»Ρ gototry:
...
if condition: raise label() # ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ ΠΊ ΠΌΠ΅ΡΠΊΠ΅
...
except label: # ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎ ΠΌΠ΅ΡΠΊΠ΅
pass
...
ΠΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π½Π΅ Π΄Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π²Π½ΡΡΡΡ ΡΠΈΠΊΠ»Π°, Π½ΠΎ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΠΈ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΏΠ»ΠΎΡ ΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ
goto
. ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΡ PythonβArcGIS Pro
ΠΡΠΈΠ±ΠΊΠΈ ΡΠ»ΡΡΠ°ΡΡΡΡ. ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ², ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΎΡΠΈΠ±ΠΎΠΊ, ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΠΌΠ°ΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ Π²Π°ΡΠΈΡ ΡΠΈΠ». ΠΠΎΠ³Π΄Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, ArcPy Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΎΡΠΈΠ±ΠΊΡ ΠΈΠ»ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅. Π Python Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΠΊΡΠΈΠΏΡ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΡΡ ΠΏΠΎ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ, Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌ Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ Π³Π΅ΠΎΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΠΈ ΡΠ΅ΡΠΈΡΡ. Π ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ°Π·Π΄Π΅Π»Π°Ρ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡΡ Π²Π°Ρ Ρ ΠΎΡΠ½ΠΎΠ²Π°ΠΌΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π² Python.
ΠΠΎΠ³Π΄Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, ArcPy ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ arcpy.ExecuteError. Python ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ ΠΎΡ ArcPy ΠΈ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Π½ΠΈΡ . ΠΡΠ»ΠΈ ΡΠΊΡΠΈΠΏΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΎΠ½ Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, ΡΡΠΎ ΡΠΌΠ΅Π½ΡΡΠ°Π΅Ρ Π΅Π³ΠΎ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΡ. ΠΠΎΠ΄ΡΠ»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ ΠΈ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ².
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ Π² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Ρ Π³Π΅ΠΎΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΡΠ΅ΡΡΠΈΠ·Π½Π°ΡΠ½ΡΠΉ ΠΊΠΎΠ΄. ΠΡΠΈ ΠΊΠΎΠ΄Ρ-ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π·Π°Π½Π΅ΡΠ΅Π½Ρ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠ± ΠΈΡ ΠΏΡΠΈΡΠΈΠ½Π°Ρ ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΡ .
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ try-except
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ try-except ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ Π΄Π»Ρ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ°Π³ΠΈ, ΡΡΠΎΠ±Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΌΠ΅ΡΡΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΡΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΠ° ΡΠ»ΡΡΠ°Π΅ΡΡΡ Π²Π½ΡΡΡΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ try, Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠ΄ Π² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ except. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ except ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΎΡΠΌΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅ ΠΡΡΠ΅Ρ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π½Π΅ Π±ΡΠ» ΡΠΊΠ°Π·Π°Π½ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ buffer_distance_or_field. ΠΠΌΠ΅ΡΡΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π±Π΅Π· ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΡ ΠΏΡΠΈΡΠΈΠ½, Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ except ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΎΡΠΈΠ±ΠΊΠΈ, Π΅Π΅ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠ° ΠΈ Π²ΡΠ²ΠΎΠ΄Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ ΠΡΡΠ΅Ρ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π±Π»ΠΎΠΊ except Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ΅ ΠΡΡΠ΅Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠ°.
import arcpy
import sys
try:
# Execute the Buffer tool
arcpy.Buffer_analysis("c:/transport/roads.shp", "c:/transport/roads_buffer.shp")
except Exception:
e = sys.exc_info()[1]
print(e.args[0])
# If using this code within a script tool, AddError can be used to return messages
# back to a script tool. If not, AddError will have no effect.
arcpy.AddError(e.args[0])
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ try ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ finally, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉΡΡ Π΄Π»Ρ Π·Π°Π΄Π°Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π²Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ArcGIS 3D Analyst Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ finally, ΡΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ.
class LicenseError(Exception):
pass
import arcpy
try:
if arcpy.CheckExtension("3D") == "Available":
arcpy.CheckOutExtension("3D")
else:
# Raise a custom exception
raise LicenseError
arcpy.env.workspace = "D:/GrosMorne"
arcpy.HillShade_3d("WesternBrook", "westbrook_hill", 300)
arcpy.Aspect_3d("WesternBrook", "westbrook_aspect")
except LicenseError:
print "3D Analyst license is unavailable"
except arcpy.ExecuteError:
print(arcpy.GetMessages(2))
finally:
# Check in the 3D Analyst extension
arcpy.CheckInExtension("3D")
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ raise
ΠΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅Ρ ΠΎΡΠΈΠ±ΠΊΡ Π² ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ Π² ΠΊΠΎΠ΄Π΅ Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. ΠΠ»Ρ ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ raise. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅, Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ raise ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ»Π°ΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅Π½Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΡΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠΈΠ±ΠΊΠ°, Π½ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½.
class NoFeatures(Exception):
pass
import arcpy
import os
import sys
arcpy.env.overwriteOutput = True
fc = arcpy.GetParameterAsText(0)
try:
# Check that the input has features
result = arcpy.GetCount_management(fc)
if int(result[0]) > 0:
arcpy.FeatureToPolygon_management(
fc, os.path.join(os.path.dirname(fc), 'out_poly.shp'))
else:
# Raise custom exception
raise NoFeatures(result)
except NoFeatures:
# The input has no features
print('{} has no features'.format(fc))
except:
# By default any other errors will be caught here
e = sys.exc_info()[1]
print(e.args[0])
ΠΠ»Π°ΡΡ ExecuteError
ΠΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Π³Π΅ΠΎΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π΅ΡΡΡ, ΡΠΎ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ»Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ arcpy.ExecuteError, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π³ΡΡΠΏΠΏΡ, ΠΎΡΠΈΠ±ΠΊΠΈ Π³Π΅ΠΎΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ (ΠΎΠ½ΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ arcpy.ExecuteError) ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΈΠΏΡ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΠ°ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΡΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΠΎ ΡΠ°Π·Π½ΠΎΠΌΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅:
import arcpy
import sys
try:
result = arcpy.GetCount_management("C:/invalid.shp")
# Return geoprocessing specific errors
except arcpy.ExecuteError:
arcpy.AddError(arcpy.GetMessages(2))
# Return any other type of error
except:
# By default any other errors will be caught here
e = sys.exc_info()[1]
print(e.args[0])
traceback
Π Π±ΠΎΠ»ΡΡΠΈΡ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΠΊΡΠΈΠΏΡΠ°Ρ Π±ΡΠ²Π°Π΅Ρ ΡΠ»ΠΎΠΆΠ½ΠΎ ΡΠΎΡΠ½ΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΌΠ΅ΡΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ. ΠΠΎΠ΄ΡΠ»ΠΈ Python sys ΠΈ traceback ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π²ΠΌΠ΅ΡΡΠ΅ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΏΡΠΈΡΠΈΠ½Ρ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°ΠΌΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΈ ΡΠΊΠΎΠ½ΠΎΠΌΡΡ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ΅ ΡΠΊΡΠΈΠΏΡΠ°.
# Import the required modules
#
import arcpy
import sys
import traceback
arcpy.env.workspace = "C:/Data/myData.gdb"
try:
arcpy.CreateSpatialReference_management()
#--------------------------
# Your code goes here
#
# See the table below for examples
#--------------------------
except arcpy.ExecuteError:
# Get the tool error messages
msgs = arcpy.GetMessages(2)
# Return tool error messages for use with a script tool
arcpy.AddError(msgs)
# Print tool error messages for use in Python/PythonWin
print(msgs)
except:
# Get the traceback object
tb = sys.exc_info()[2]
tbinfo = traceback.format_tb(tb)[0]
# Concatenate information together concerning the error into a message string
pymsg = "PYTHON ERRORS:\nTraceback info:\n" + tbinfo + "\nError Info:\n" + str(sys.exc_info()[1])
msgs = "ArcPy ERRORS:\n" + arcpy.GetMessages(2) + "\n"
# Return python error messages for use in script tool or Python window
arcpy.AddError(pymsg)
arcpy.AddError(msgs)
# Print Python error messages for use in Python / Python window
print(pymsg)
print(msgs)
ΠΡΠ»ΠΈ Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½, ΠΈ Π² Π½Π΅ΠΌ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ° Π³Π΅ΠΎΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ, ΡΠ°ΠΊΠ°Ρ ΠΊΠ°ΠΊ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠ΅ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΡΡΠΎ Π²ΡΠ·ΠΎΠ²Π΅Ρ arcpy.ExecuteError, ΠΈ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ except. ΠΡΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ²Π΅Π΄Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ GetMessages. ΠΡΠ»ΠΈ Π² ΠΊΠΎΠ΄Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ° Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ Π²ΡΠΎΡΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ except. ΠΠΌΠ΅ΡΡΠΎ Π²ΡΠ²ΠΎΠ΄Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π³Π΅ΠΎΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ, Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ ΠΎΠ±ΡΠ΅ΠΊΡ traceback ΠΈ Π²ΡΠ²Π΅Π΄Π΅Π½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠ΅.
Π ΡΠ°Π±Π»ΠΈΡΠ΅ Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ, ΡΠ²Π»ΡΡΡΠΈΠ΅ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΡΠ΅Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠ³ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π²ΠΌΠ΅ΡΡΠΎ Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠ΅ΡΠ²ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ β ΠΎΡΠΈΠ±ΠΊΠ° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Π³Π΅ΠΎΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ traceback ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ Π³Π΅ΠΎΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΡΠΎΡΠΎΠΉ ΠΈ ΡΡΠ΅ΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅ΡΡ Π½Π΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ, Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ traceback.
ΠΠ°Ρ ΠΊΠΎΠ΄ | Π Π΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ° |
---|---|
arcpy.GetCount_management(«») |
|
x = «a» + 1 |
|
float(«a text string») |
|
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Result
ΠΡΠ°ΡΠΊΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ Result, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅:
result = arcpy.GetCount_management("c:/data/rivers.shp")
ΠΡΠ»ΠΈ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ GetCount_management Π²ΡΠ΄Π°Π΅ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΎΠ±ΡΠ΅ΠΊΡ Result Π½Π΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Ρ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Result.
import arcpy
try:
result = arcpy.GetCount_management("c:/data/rivers.shp")
# Return Geoprocessing specific errors
# (this method is incorrect!)
except arcpy.ExecuteError:
arcpy.AddError(result.getMessages(2))
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π° ΠΏΡΠ΅ΡΡΠ²Π°Π΅ΡΡΡ Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ name ‘result’ is not defined. ΠΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ Result Π½Π΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΈΠ·-Π·Π° ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ±ΡΠ΅ΠΊΡ Result Π½Π΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ, ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° getMessages Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ° Python.
ΠΠ±ΡΠ΅ΠΊΡ Result, ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡΠΉ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΡΠ»ΡΠΆΠ±Ρ Π³Π΅ΠΎΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π² ArcGIS Server, ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π΄Π°ΠΆΠ΅ ΠΏΡΠΈ ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°. ΠΠ±ΡΠ΅ΠΊΡ Result Π½Π΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ ΠΈ Π²ΡΠ΄Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ. ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° result ΡΠΌΠΎΡΡΠΈΡΠ΅ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π² Python.
ΠΡΠ·ΡΠ² ΠΏΠΎ ΡΡΠΎΠΌΡ ΡΠ°Π·Π΄Π΅Π»Ρ?
Π Π°Π±ΠΎΡΠ° Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ try/except/else/finally β ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Python Π΄Π»Ρ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΠ² 3.0
try/except
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠ²ΡΠΎΡΡΠ»ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ ΡΠ°Π½Π΅Π΅, ΡΠΎ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° Π±ΡΠ»ΠΈ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π²ΡΡΠΊΠ°ΠΊΠΈΠ²Π°Π»Π° ΠΎΡΠΈΠ±ΠΊΠ°. Π‘ΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΡΡΠΎ Π±ΡΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°, ΠΊΠΎΠ³Π΄Π° Π½Π΅ Ρ Π²Π°ΡΠ°Π»ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΡ.
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Python Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎ ΡΠ΅Π°Π³ΠΈΡΡΠ΅Ρ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΈ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ.
Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΊΠΎΠ΄ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ. Π Python ΡΡΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ (exceptions).
ΠΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ:
In [1]: 2/0 ----------------------------------------------------- ZeroDivisionError: division by zero In [2]: 'test' + 2 ----------------------------------------------------- TypeError: must be str, not int
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ Π΄Π²Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ: ZeroDivisionError ΠΈ TypeError.
Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠΎΠ΄Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π° Π²Ρ ΠΎΠ΄ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ Π΄Π²Π° ΡΠΈΡΠ»Π°, Π° Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ Π²ΡΠ΄Π°Π΅Ρ ΠΈΡ ΡΡΠΌΠΌΡ, Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²Π΅Π» Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΠΈΡΠ΅Π» ΡΡΡΠΎΠΊΡ, ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΎΡΠΈΠ±ΠΊΠ° TypeError, ΠΊΠ°ΠΊ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅.
Python ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ. ΠΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΡΠ²Π°ΡΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
ΠΠΎΠ³Π΄Π° Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΎΠ½Π° ΡΡΠ°Π·Ρ Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ.
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ try/except
:
In [3]: try: ...: 2/0 ...: except ZeroDivisionError: ...: print("You can't divide by zero") ...: You can't divide by zero
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ try ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
- ΡΠ½Π°ΡΠ°Π»Π° Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΠΏΠΈΡΠ°Π½Ρ Π² Π±Π»ΠΎΠΊΠ΅ try
- Π΅ΡΠ»ΠΈ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠ° try Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, Π±Π»ΠΎΠΊ except ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ, ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠΈΠΉ ΠΊΠΎΠ΄
- Π΅ΡΠ»ΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠ° try Π² ΠΊΠ°ΠΊΠΎΠΌ-ΡΠΎ ΠΌΠ΅ΡΡΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅,
ΠΎΡΡΠ°Π²ΡΠ°ΡΡΡ ΡΠ°ΡΡΡ Π±Π»ΠΎΠΊΠ° try ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ
- Π΅ΡΠ»ΠΈ Π² Π±Π»ΠΎΠΊΠ΅ except ΡΠΊΠ°Π·Π°Π½ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠ΄ Π² Π±Π»ΠΎΠΊΠ΅ except
- Π΅ΡΠ»ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ, Π½Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎ Π² Π±Π»ΠΎΠΊΠ΅ except, Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠ΅ΡΡΠ²Π°Π΅ΡΡΡ ΠΈ Π²ΡΠ΄Π°Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠ°
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΡΡΠΎΠΊΠ° Cool!
Π² Π±Π»ΠΎΠΊΠ΅ try Π½Π΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ:
In [4]: try: ...: print("Let's divide some numbers") ...: 2/0 ...: print('Cool!') ...: except ZeroDivisionError: ...: print("You can't divide by zero") ...: Let's divide some numbers You can't divide by zero
Π ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ try/except ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ except, Π΅ΡΠ»ΠΈ Π½ΡΠΆΠ½Ρ ΡΠ°Π·Π½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΈΠΏΠ° ΠΎΡΠΈΠ±ΠΊΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΊΡΠΈΠΏΡ divide.py Π΄Π΅Π»ΠΈΡ Π΄Π²Π° ΡΠΈΡΠ»Π° Π²Π²Π΅Π΄Π΅Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ:
# -*- coding: utf-8 -*- try: a = input("ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ: ") b = input("ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π²ΡΠΎΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ: ") print("Π Π΅Π·ΡΠ»ΡΡΠ°Ρ: ", int(a)/int(b)) except ValueError: print("ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π²Π²ΠΎΠ΄ΠΈΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΠ»Π°") except ZeroDivisionError: print("ΠΠ° Π½ΠΎΠ»Ρ Π΄Π΅Π»ΠΈΡΡ Π½Π΅Π»ΡΠ·Ρ")
ΠΡΠΈΠΌΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ°:
$ python divide.py ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ: 3 ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π²ΡΠΎΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ: 1 Π Π΅Π·ΡΠ»ΡΡΠ°Ρ: 3 $ python divide.py ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ: 5 ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π²ΡΠΎΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ: 0 ΠΠ° Π½ΠΎΠ»Ρ Π΄Π΅Π»ΠΈΡΡ Π½Π΅Π»ΡΠ·Ρ $ python divide.py ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ: qewr ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π²ΡΠΎΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ: 3 ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π²Π²ΠΎΠ΄ΠΈΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΠ»Π°
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ValueError Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²Π΅Π» ΡΡΡΠΎΠΊΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΈΡΠ»Π°, Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΡΡΠΎΠΊΠΈ Π² ΡΠΈΡΠ»ΠΎ.
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ZeroDivisionError Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π²ΡΠΎΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π±ΡΠ»ΠΎ ΡΠ°Π²Π½ΡΠΌ 0.
ΠΡΠ»ΠΈ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π½Π° ΠΎΡΠΈΠ±ΠΊΠΈ ValueError ΠΈ ZeroDivisionError, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ (ΡΠ°ΠΉΠ» divide_ver2.py):
# -*- coding: utf-8 -*- try: a = input("ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ: ") b = input("ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π²ΡΠΎΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ: ") print("Π Π΅Π·ΡΠ»ΡΡΠ°Ρ: ", int(a)/int(b)) except (ValueError, ZeroDivisionError): print("Π§ΡΠΎ-ΡΠΎ ΠΏΠΎΡΠ»ΠΎ Π½Π΅ ΡΠ°ΠΊ...")
ΠΡΠΎΠ²Π΅ΡΠΊΠ°:
$ python divide_ver2.py ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ: wer ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π²ΡΠΎΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ: 4 Π§ΡΠΎ-ΡΠΎ ΠΏΠΎΡΠ»ΠΎ Π½Π΅ ΡΠ°ΠΊ... $ python divide_ver2.py ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ: 5 ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π²ΡΠΎΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ: 0 Π§ΡΠΎ-ΡΠΎ ΠΏΠΎΡΠ»ΠΎ Π½Π΅ ΡΠ°ΠΊ...
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
Π Π±Π»ΠΎΠΊΠ΅ except ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΡΠ΄ΡΡ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΡΠ²Π°ΡΡΡΡ Π²ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
ΠΡΠΎ Π΄Π΅Π»Π°ΡΡ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ!
ΠΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, ΠΈ Π±Π΅Π· Π½ΠΈΡ .
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΡ Π²Π°ΡΠΈΠ°Π½Ρ ΠΊΠΎΠ΄Π°:
while True: a = input("ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠΈΡΠ»ΠΎ: ") b = input("ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π²ΡΠΎΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ: ") try: result = int(a)/int(b) except ValueError: print("ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΠ»Π°") except ZeroDivisionError: print("ΠΠ° Π½ΠΎΠ»Ρ Π΄Π΅Π»ΠΈΡΡ Π½Π΅Π»ΡΠ·Ρ") else: print(result) break
ΠΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π±Π΅Π· try/except (ΡΠ°ΠΉΠ» try_except_divide.py):
while True: a = input("ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠΈΡΠ»ΠΎ: ") b = input("ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π²ΡΠΎΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ: ") if a.isdigit() and b.isdigit(): if int(b) == 0: print("ΠΠ° Π½ΠΎΠ»Ρ Π΄Π΅Π»ΠΈΡΡ Π½Π΅Π»ΡΠ·Ρ") else: print(int(a)/int(b)) break else: print("ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΠ»Π°")
ΠΠ°Π»Π΅ΠΊΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΡΡΠΌ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌ.
ΠΠ°ΠΆΠ½ΠΎ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ, ΠΊΠ°ΠΊΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΊΠΎΠ΄Π° Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ, ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠΉ ΠΈ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ — Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΈΠ»ΠΈ Π±Π΅Π·.
ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π½ΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π΅ΡΡΡ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ, ΡΡΠΎ Π² Π½ΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΡΡΠΈΡΠ°Π»ΠΎΡΡ ΠΏΠ»ΠΎΡ ΠΈΠΌ ΡΠΎΠ½ΠΎΠΌ. Π Python ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ. Π§ΡΠΎΠ±Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ ΡΡΠΈΠΌ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ, ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π°.
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π² Python: ΠΎΡΠ»Π°Π΄ΠΊΠ° ΠΊΠΎΠ΄Π° ΠΈ ΠΏΠ΅ΡΠ΅Ρ Π²Π°Ρ ΠΎΡΠΈΠ±ΠΎΠΊ (try-except)
ΠΠ½ΠΎΠ³Π΄Π°, Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ»ΡΡΠ°ΡΡΡΡ Π½Π΅ΠΏΡΠ΅Π΄Π²ΠΈΠ΄Π΅Π½Π½ΡΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠΏΡΡΠΊΠ° ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡ ΡΠΈΡΠ»ΠΎ Π½Π° Π½ΠΎΠ»Ρ ΠΈΠ»ΠΈ ΡΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠ°ΠΉΠ»Π° Π²ΡΠ·ΠΎΠ²ΡΡ ΠΎΡΠΈΠ±ΠΊΡ ΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π’Π°ΠΊΠΈΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΡΠΈΡΡΠ°ΡΠΈΡΠΌΠΈ, Π° ΠΎΡΠΈΠ±ΠΊΠΈ — ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ (exception). ΠΠ»Ρ ΡΠ°Π·Π½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ Π΅ΡΡΡ ΡΠ²ΠΎΠΈ ΡΠΈΠΏΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ:
2 / 0
open('non_existing_file.txt')
ΠΠ°ΠΊ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠΎΡΠ½ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΠΏΡΠΈΡΠΈΠ½Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ. ΠΡΠΎ ΡΠ°ΡΡΡ ΠΏΠ»Π°Π½Π°: ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½ΡΠΆΠ½Ρ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΊΠΎΠ³Π΄Π° Π²ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π΅Π³ΠΎ ΡΠΈΠΏΠΎΠΌ Π½Π° ΡΠΊΡΠ°Π½ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π΅ΡΡ ΡΠ΅Π»Π°Ρ ΠΊΡΡΠ° ΡΠΎΠΏΡΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°ΠΊΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
def average(numbers):
return sum(numbers) / len(numbers)
average([1, 2, 3])
average([])
ΠΡΠΉΠ΄Π΅Ρ ΡΠ°ΠΊΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ°:
Traceback (most recent call last): # 6
File "example.py", line 5, in <module> # 5
average([]) # 4
File "example.py", line 2, in average # 3
return sum(numbers) / len(numbers) # 2
ZeroDivisionError: division by zero # 1
ΠΡΠΎΡΡΡΠ½Ρ ΡΠ΅ΠΊΡΡΠ° Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΡΠ΅ΡΡΠΈ ΡΡΡΠΎΡΠΊΠ°Ρ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΡΡΠΉΡΠ±ΡΠΊΠΎΠΌ. ΠΠ½ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΡΡΠ°ΡΠ½ΠΎ, Π½ΠΎ ΡΠΈΡΠ°ΡΡ Π΅Π³ΠΎ β ΠΏΠΎΠ»Π΅Π·Π½ΠΎ. Π Π½ΡΠΌ Python ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡΠΎ ΠΆΠ΅ ΡΠ»ΡΡΠΈΠ»ΠΎΡΡ.
ΠΠ°ΠΆΠ½ΠΎ: ΡΡΠ΅ΠΉΡΠ±Π΅ΠΊ ΡΠΈΡΠ°ΡΡ ΡΠ½ΠΈΠ·Ρ Π²Π²Π΅ΡΡ . ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΡΠ°ΡΡΡΠ°Π²ΠΈΠ»ΠΈ ΡΠ°ΠΊΡΡ Π½ΡΠΌΠ΅ΡΠ°ΡΠΈΡ ΡΡΡΠΎΡΠ΅ΠΊ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΡΠΌ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΡΡΠΎΡΠΊΡ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠ΅:
1) ZeroDivisionError: division by zero
β ΡΠΈΠΏ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ. ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ Π½Π° ΡΡΡΡΠΊΠΈΠΉ, ΡΡΠ°Π·Ρ ΠΏΠΎΠ½ΡΡΠ½ΠΎ: ΠΡΠΈΠ±ΠΊΠ°ΠΠ΅Π»Π΅Π½ΠΈΡΠΠ°ΠΠΎΠ»Ρ: Π²Ρ ΠΏΠΎΠ΄Π΅Π»ΠΈΠ»ΠΈ Π½Π° Π½ΠΎΠ»Ρ.
2) return sum(numbers) / len(numbers)
β ΡΡΡΠΎΠΊΠ°, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°.
3) File "example.py", line 2, in average
β Π³Π΄Π΅ ΡΡΡ ΡΡΡΠΎΠΊΡ ΠΈΡΠΊΠ°ΡΡ. Π ΡΠ°ΠΉΠ»Π΅ example.py
, Π½Π° Π²ΡΠΎΡΠΎΠΉ ΡΡΡΠΎΠΊΠ΅, Π² ΡΡΠ½ΠΊΡΠΈΠΈ average
.
4 ΠΈ 5) ΠΠ°ΡΠΈΠ½Π°Ρ Ρ ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈ Π΄Π°Π»Π΅Π΅, Python Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡ Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ°, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π°ΡΠ°Π»Π°ΡΡ Π²ΡΡ ΡΠ΅ΠΏΠΎΡΠΊΠ°. ΠΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½ΡΠΆΠ½Π°, ΠΊΠΎΠ³Π΄Π° ΠΎΡΠΈΠ±ΠΊΠ° ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° Π³Π΄Π΅-ΡΠΎ Π²Π½ΡΡΡΠΈ ΡΡΠΆΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Ρ ΡΡΠ΅ΠΉΡΠ±ΡΠΊ ΡΠ½ΠΈΠ·Ρ Π²Π²Π΅ΡΡ , ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΡΡΡΠΎΡΠΊΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΠ°Π»Π° ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ.
6) ΠΠ°ΡΠ°Π»ΠΎ ΡΡΠ΅ΠΉΡΠ±ΡΠΊΠ°
ΠΠ°ΠΊΠΈΠΌ Π±Ρ Π΄Π»ΠΈΠ½Π½ΡΠΌ ΡΡΠ΅ΠΉΡΠ±Π΅ΠΊ Π½ΠΈ Π±ΡΠ», Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π΄Π²Π΅-ΡΡΠΈ ΡΡΡΠΎΠΊΠΈ. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΈΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΠΎ ΠΈ Π³Π΄Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ. ΠΡΡ ΠΎΠ΄ΠΈΡ, ΡΡΠ΅ΠΉΡΠ±ΡΠΊΠΈ Π½Π΅ ΡΠ°ΠΊΠΈΠ΅ ΡΠΆ ΠΈ ΡΡΡΠ°ΡΠ½ΡΠ΅, Π΅ΡΠ»ΠΈ Π·Π½Π°ΡΡ, Π³Π΄Π΅ ΠΈΡΠΊΠ°ΡΡ.
ΠΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΡΠ΅Π΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ β ΡΠ°ΡΡΡ ΠΏΠ»Π°Π½Π° ΠΈΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ Π΅Π³ΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠΎ Π½Π° ΡΠ°ΠΊΠΎΠΉ ΡΠ»ΡΡΠ°ΠΉ Π² Python ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ try-except
:
filepath = user.get_avatar_filepath()
try:
avatar = Image.open(filepath)
except FileNotFoundError:
avatar = default_avatar
ΠΠ½ΡΡΡΠΈ Π±Π»ΠΎΠΊΠ° try
(Π²Π½ΡΡΡΠΈ β ΡΡΠΎ Ρ ΠΎΡΡΡΡΠΏΠ°ΠΌΠΈ) ΠΏΠΈΡΠ΅ΡΡΡ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ. ΠΡΠ»ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄ΡΡ, ΡΠΎ Python ΠΏΡΠΎΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅Ρ Π±Π»ΠΎΠΊ except
ΠΈ ΠΏΠΎΠΉΠ΄ΡΡ Π΄Π°Π»ΡΡΠ΅. ΠΡΠ»ΠΈ ΠΆΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ° β ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠΎΠ΄ Π²Π½ΡΡΡΠΈ Π±Π»ΠΎΠΊΠ° except
.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅ except
ΡΡΠΎΠΈΡ ΡΠΈΠΏ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΡΡΠΈΡΡΡΡ Π²Π½ΡΡΡΠΈ try
. ΠΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Ρ
ΠΎΡΠΎΡΠ΅Π³ΠΎ ΡΠΎΠ½Π°. ΠΡ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΡΠΈΠΏ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌ.
ΠΠΎΠ΄, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ ΡΠΈΠΏ ΠΎΡΠΈΠ±ΠΊΠΈ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
filepath = user.get_avatar_filepath()
try:
avatar = use_avatar(filepath)
except:
avatar = default_avatar
ΠΠ΄Π½Π°ΠΆΠ΄Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΡΡΠΈΡΡΡ ΡΡΡΠ°ΡΠ½ΠΎΠ΅: Π΄ΡΡΠ³Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ°. ΠΠΎ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΡΠ΅Π±Ρ Π²Π΅ΡΡΠΈ ΡΠ°ΠΊ, Π±ΡΠ΄ΡΠΎ Π½ΠΈΡΠ΅Π³ΠΎ ΡΡΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ, Π±ΡΠ΄ΡΠΎ ΠΎΠ½ ΠΏΡΠΎΡΡΠΎ Π½Π΅ Π½Π°ΡΡΠ» ΡΠ°ΠΉΠ». Python Π½Π΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΡΡΠ΅ΠΉΡΠ±Π΅ΠΊ ΠΈ ΡΠΈΠ½ΠΈΡΡ ΠΊΠΎΠ΄ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Π½Π΅Π½Π°ΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠΊΠ°.
ΠΠΎΠ³Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΈΠΏ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΊΠ°ΠΆΠ΅ΡΡΡ, Π±ΡΠ΄ΡΠΎ ΠΎΠ½ ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π» ΡΠ°ΠΊΠΎΠΉ ΠΏΠ»ΠΎΡ ΠΎΠΉ ΠΊΠΎΠ΄, ΡΡΠΎ ΡΠ°ΠΌ ΡΠ΅Π±Π΅ Π½Π΅ Π΄ΠΎΠ²Π΅ΡΡΠ΅Ρ. ΠΠ΅Π· ΠΎΡΠΎΠ±ΠΎΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ°ΠΊ Π΄Π΅Π»Π°ΡΡ Π½Π΅Π»ΡΠ·Ρ.
Python ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅, ΠΊΡΠΎΠΌΠ΅
ΠΠ»ΠΎΠΊ try
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ
Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΎΡΠΈΠ±ΠΎΠΊ.
ΠΠ»ΠΎΠΊ ΠΊΡΠΎΠΌΠ΅
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ
ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ.
ΠΠ»ΠΎΠΊ finally
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ
Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠ΄ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° Π±Π»ΠΎΠΊΠΎΠ² try- ΠΈ except.
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ
ΠΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ° ΠΈΠ»ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΌΡ ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΠΌ, Python ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅.
ΠΡΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° try
:
ΠΡΠΈΠΌΠ΅Ρ
ΠΠ»ΠΎΠΊ try
ΡΠ³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅,
ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ x
Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ:
ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅:
print (x)
except:
print (Β«ΠΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅Β»)
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π±Π»ΠΎΠΊ try Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ, Π±Π»ΠΎΠΊ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½.
ΠΠ΅Π· Π±Π»ΠΎΠΊΠ° try ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΠΉΠ΄Π΅Ρ ΠΈΠ· ΡΡΡΠΎΡ ΠΈ Π²ΡΠ΄Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ:
ΠΡΠΈΠΌΠ΅Ρ
ΠΡΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π²ΡΠ·ΠΎΠ²Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ,
ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ x
Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ:
ΠΏΠ΅ΡΠ°ΡΡ (x)
ΠΠΎΠΏΡΠΎΠ±ΡΠΉ ΡΠ°ΠΌ »ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΠΎΠ»ΡΠΊΠΎ Π±Π»ΠΎΠΊΠΎΠ² ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°Ρ ΠΎΡΠΈΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ.Π³ΡΠ°ΠΌΠΌ. Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΠΎΡΠΎΠ±ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° ΠΎΡΠΈΠ±ΠΊΠΈ:
ΠΡΠΈΠΌΠ΅Ρ
ΠΡΠ²Π΅ΡΡΠΈ ΠΎΠ΄Π½ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, Π΅ΡΠ»ΠΈ Π±Π»ΠΎΠΊ try Π²ΡΠ·ΡΠ²Π°Π΅Ρ NameError
ΠΈ Π΄ΡΡΠ³ΠΎΠ΅
Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ
ΠΎΡΠΈΠ±ΠΎΠΊ:
ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅:
print (x)
except NameError:
print («ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ x
Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ «)
Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ:
print (» Π§ΡΠΎ-ΡΠΎ Π΅ΡΠ΅ ΠΏΠΎΡΠ»ΠΎ
Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ «)
ΠΡΡΠ°Π»ΡΠ½ΠΎΠ΅
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ else
Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ
Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½, Π΅ΡΠ»ΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ:
ΠΡΠΈΠΌΠ΅Ρ
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π±Π»ΠΎΠΊ try
Π½Π΅
Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π»ΡΠ±ΡΡ ΠΎΡΠΈΠ±ΠΊΡ:
ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅:
print («ΠΡΠΈΠ²Π΅Ρ»)
except:
print («Π§ΡΠΎ-ΡΠΎ ΠΏΠΎΡΠ»ΠΎ
Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ «)
else:
print (» ΠΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΠ»ΡΡΠΈΠ»ΠΎΡΡ «)
ΠΠ°ΠΊΠΎΠ½Π΅Ρ
ΠΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ Π±Π»ΠΎΠΊ finally
, Π΅ΡΠ»ΠΈ ΠΎΠ½ ΡΠΊΠ°Π·Π°Π½
Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, Π±Π»ΠΎΠΊ ΠΏΠΎΠΏΡΡΠΎΠΊ
Π²ΡΠ΄Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ ΠΈΠ»ΠΈ Π½Π΅Ρ.
ΠΡΠΈΠΌΠ΅Ρ
ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅:
print (x)
except:
print («Π§ΡΠΎ-ΡΠΎ ΠΏΠΎΡΠ»ΠΎ
Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ «)
Π½Π°ΠΊΠΎΠ½Π΅Ρ:
print (» ΠΠΎΠΏΡΡΠΊΠ°, ΠΊΡΠΎΠΌΠ΅ «Π·Π°Π²Π΅ΡΡΠ΅Π½Π°»)
ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ Π·Π°ΠΊΡΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΠΎΡΠΈΡΡΠΊΠΈ ΡΠ΅ΡΡΡΡΠΎΠ²:
ΠΡΠΈΠΌΠ΅Ρ
ΠΠΎΠΏΡΡΠ°ΠΉΡΠ΅ΡΡ ΠΎΡΠΊΡΡΡΡ ΠΈ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π² ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ:
ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅:
f = open («demofile.txt»)
f.write («Lorum Ipsum»)
Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ:
print («Π§ΡΠΎ-ΡΠΎ ΠΏΠΎΡΠ»ΠΎ
Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΏΡΠΈ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠ°ΠΉΠ» «)
Π½Π°ΠΊΠΎΠ½Π΅Ρ:
Ρ.Π·Π°ΠΊΡΡΡΡ ()
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡΡΡ, Π½Π΅ ΠΎΡΡΠ°Π²Π»ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΎΡΠΊΡΡΡΡΠΌ.
ΠΡΠ·ΠΎΠ² ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
ΠΠ°ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Python Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ.
Π§ΡΠΎΠ±Ρ Π²ΡΠ·Π²Π°ΡΡ (ΠΈΠ»ΠΈ Π²ΡΠ·Π²Π°ΡΡ) ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ raise
.
ΠΡΠΈΠΌΠ΅Ρ
ΠΡΠ·ΠΎΠ² ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π΅ΡΠ»ΠΈ x ΠΌΠ΅Π½ΡΡΠ΅ 0:
x = -1, Π΅ΡΠ»ΠΈ x <0:
Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ («Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π½ΠΈΠΆΠ΅ Π½Π΅Ρ ΡΠΈΡΠ΅Π»
Π½ΠΎΠ»Ρ «)
ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ ΠΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ
ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΠ°ΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΡ Π²ΡΠ΄Π°Π²Π°ΡΡ, ΠΈ ΡΠ΅ΠΊΡΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΡΠΈΠΌΠ΅Ρ
ΠΡΠ·ΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ TypeError, Π΅ΡΠ»ΠΈ x Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π»ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ:
x = «hello», Π΅ΡΠ»ΠΈ Π½Π΅ type (x) is int:
raise TypeError («Π’ΠΎΠ»ΡΠΊΠΎ
ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Ρ «)
Python Try Except — GeeksforGeeks
ΠΡΠΈΠ±ΠΊΠ° Π² Python ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄Π²ΡΡ
ΡΠΈΠΏΠΎΠ²: ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. ΠΡΠΈΠ±ΠΊΠΈ — ΡΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, ΠΈΠ·-Π·Π° ΠΊΠΎΡΠΎΡΡΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΡΠΎΠ±ΡΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ Ρ
ΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠΌ. ΠΡΠΈΠ±ΠΊΠΈ ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² Python
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ
ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ:
- IOError: , Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ» Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠΊΡΡΡ
- KeyboardInterrupt: , ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ Π½Π΅Π½ΡΠΆΠ½ΡΡ ΠΊΠ»Π°Π²ΠΈΡΡ.
- ValueError: , ΠΊΠΎΠ³Π΄Π° Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π½Π΅Π²Π΅ΡΠ½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ.
- EOFError: , Π΅ΡΠ»ΠΈ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ ΠΊΠΎΠ½Π΅Ρ ΡΠ°ΠΉΠ»Π° Π±Π΅Π· ΡΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ Π΄Π°Π½Π½ΡΡ .
- ImportError: , Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ
Try Except Π² Python
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ Try and Except ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΠΈΡ
ΠΎΡΠΈΠ±ΠΎΠΊ Π² Π½Π°ΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅ Π½Π° Python.ΠΠ»ΠΎΠΊ try ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ, Ρ.Π΅. ΠΊΠΎΠ΄ Π²Π½ΡΡΡΠΈ Π±Π»ΠΎΠΊΠ° try Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π½Π΅Ρ ΠΎΡΠΈΠ±ΠΎΠΊ. Π ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ Π²Π½ΡΡΡΠΈ Π±Π»ΠΎΠΊΠ° except Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ Π±Π»ΠΎΠΊΠ΅ try.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅: # ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΡΠΎΠΌΠ΅: # ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, Π΅ΡΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΠ° Π² # try block
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ try ()?
- Π‘Π½Π°ΡΠ°Π»Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ try i.Π΅. ΠΊΠΎΠ΄ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΈ , Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠ½ΠΊΡΠ° .
- ΠΡΠ»ΠΈ Π½Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ try , , Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ , Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΎ.
- ΠΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ try Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΏΡΡΠ΅Π½ΠΎ ΠΈ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ .
- ΠΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, Π½ΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ except Π² ΠΊΠΎΠ΄Π΅ Π΅Π³ΠΎ Π½Π΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ, ΠΎΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π²ΠΎ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ try . ΠΡΠ»ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΡΠ°Π»ΠΎΡΡ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΌ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ.
- ΠΠΏΠ΅ΡΠ°ΡΠΎΡ try ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ , Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΠΎΠ΄ 1: ΠΠ΅Π· ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ try .
Python
/ / y 9000Er 0003 |
/ / y 9000Er 0003 |
|
.0 ΠΡΡ ΠΎΠ΄: -9000,0 a / b ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ 0
finally ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ Π² Python
Python ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ finally, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅Π³Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ Π±Π»ΠΎΠΊΠΎΠ² try ΠΈ except. ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π±Π»ΠΎΠΊ Π²ΡΠ΅Π³Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠ° try ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠ° try ΠΈΠ·-Π·Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅: # ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΡΠΎΠΌΠ΅: # ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, Π΅ΡΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΠ° Π² # ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ Π΅ΡΠ΅: # Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ, Π΅ΡΠ»ΠΈ Π½Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π°ΠΊΠΎΠ½Π΅Ρ-ΡΠΎ: # ΠΠ΅ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΠΎΠ΄ ..... (Π²ΡΠ΅Π³Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ)
ΠΠΎΠ΄:
Python3
|
ΠΡΠ²ΠΎΠ΄:
ΠΠ΅Π»ΡΠ·Ρ Π΄Π΅Π»ΠΈΡΡ Π½Π° Π½ΠΎΠ»Ρ ΠΡΠΎ Π²ΡΠ΅Π³Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ
Π‘ΡΠ°ΡΡΠΈ ΠΏΠΎ ΡΠ΅ΠΌΠ΅:
ΠΡΠ° ΡΡΠ°ΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π° ββ Mohit Gupta_OMG π .ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠ°Π²ΠΈΡΡΡ GeeksforGeeks, ΠΈ Π²Ρ Ρ
ΠΎΡΠ΅Π»ΠΈ Π±Ρ Π²Π½Π΅ΡΡΠΈ ΡΠ²ΠΎΠΉ Π²ΠΊΠ»Π°Π΄, Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠ°ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ provide.geeksforgeeks.org ΠΈΠ»ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π΅Π΅ ΠΏΠΎ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΠ΅ Π½Π° [email protected]. ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅, ΠΊΠ°ΠΊ Π²Π°ΡΠ° ΡΡΠ°ΡΡΡ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ GeeksforGeeks, ΠΈ ΠΏΠΎΠΌΠΎΠ³ΠΈΡΠ΅ Π΄ΡΡΠ³ΠΈΠΌ Π³ΠΈΠΊΠ°ΠΌ.
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π½Π°ΠΏΠΈΡΠΈΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΠ΅ ΡΡΠΎ-ΡΠΎ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅, ΠΈΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΏΠΎ ΡΠ΅ΠΌΠ΅, ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½Π½ΠΎΠΉ Π²ΡΡΠ΅.
ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡΠΈΠΊ! Π£ΠΊΡΠ΅ΠΏΠΈΡΠ΅ ΡΠ²ΠΎΠΈ ΠΎΡΠ½ΠΎΠ²Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΡΡΡΠ° Python Programming Foundation ΠΈ ΠΈΠ·ΡΡΠΈΡΠ΅ ΠΎΡΠ½ΠΎΠ²Ρ.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΡΡΠ΅ΡΡ ΠΊ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΡ. Π Π°ΡΡΠΈΡΡΡΠ΅ ΡΠ²ΠΎΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΡΡΡΠ° Python DS . Π ΡΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΡΠ²ΠΎΠ΅ ΠΏΡΡΠ΅ΡΠ΅ΡΡΠ²ΠΈΠ΅ ΠΏΠΎ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΌΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ, ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡΠ΅ΡΡ ΠΊ ΠΠ°ΡΠΈΠ½Π½ΠΎΠ΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ — ΠΊΡΡΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ — Real Python
Π‘ΠΌΠΎΡΡΠ΅ΡΡ ΡΠ΅ΠΉΡΠ°Ρ Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ Π΅ΡΡΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Π²ΠΈΠ΄Π΅ΠΎΠΊΡΡΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Real Python. SyntaxError: Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
Π‘ΡΡΠ΅Π»ΠΊΠ° ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, Π³Π΄Π΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ» ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΡ .Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΡΠΊΠΎΠ±ΠΊΠΈ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ. Π£Π΄Π°Π»ΠΈΡΠ΅ Π΅Π³ΠΎ ΠΈ ΡΠ½ΠΎΠ²Π° Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄:
>>> ΠΏΠ΅ΡΠ°ΡΡ (0/0)
ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ (ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²ΡΠ·ΠΎΠ² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ):
Π€Π°ΠΉΠ» "", ΡΡΡΠΎΠΊΠ° 1, Π²
ZeroDivisionError: ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ Π½ΡΠ»Ρ
ΠΠ° ΡΡΠΎΡ ΡΠ°Π· Π²Ρ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΠΈΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ . ΠΡΠΎΡ ΡΠΈΠΏ ΠΎΡΠΈΠ±ΠΊΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Python ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ΅. Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΡΡΠΎΠΊΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠΊΠ°Π·Π°Π½ΠΎ, Ρ ΠΊΠ°ΠΊΠΈΠΌ ΡΠΈΠΏΠΎΠΌ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π²Ρ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΠΈΡΡ.
ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
, Python Π΄Π΅ΡΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ, ΠΊΠ°ΠΊΠΎΠΉ ΡΠΈΠΏ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π±ΡΠ» ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ Π±ΡΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ° ZeroDivisionError
. Python ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°ΠΌΠΎΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
ΠΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ raise
, ΡΡΠΎΠ±Ρ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π² ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΡ. ΠΠ°ΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ.
ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ Π²ΡΠ΄Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ ΠΏΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠΎΠ΄Π½ΡΡΡ
, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Ρ
= 10
Π΅ΡΠ»ΠΈ x> 5:
Raise Exception ('x Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡΠ΅Π²ΡΡΠ°ΡΡ 5.ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ x Π±ΡΠ»ΠΎ: {} '. Format (x))
ΠΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΡΠΎΡ ΠΊΠΎΠ΄, Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
Traceback (ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π·Π²ΠΎΠ½ΠΎΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ):
Π€Π°ΠΉΠ» "", ΡΡΡΠΎΠΊΠ° 4, Π²
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅: x Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡΠ΅Π²ΡΡΠ°ΡΡ 5. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ x Π±ΡΠ»ΠΎ: 10.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π½Π°ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΊΡΠ°Π½Π΅, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠΎΡΠ»ΠΎ Π½Π΅ ΡΠ°ΠΊ.
ΠΡΠΈΠ±ΠΊΠ°
AssertionError
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΆΠ΄Π°ΡΡ, ΠΏΠΎΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΠΉΠ΄Π΅Ρ ΠΈΠ· ΡΡΡΠΎΡ Π½Π° ΠΏΠΎΠ»ΠΏΡΡΠΈ, Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΠ°ΡΡ Ρ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ Π½Π° Python.ΠΡ ΡΡΠ²Π΅ΡΠΆΠ΄Π°Π΅ΠΌ
, ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ. ΠΡΠ»ΠΈ ΡΡΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠ°Π²Π½ΡΠΌ True
, ΡΠΎ ΡΡΠΎ ΠΎΡΠ»ΠΈΡΠ½ΠΎ! ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡΡΡ. ΠΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ False
, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ΄Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ AssertionError
.
ΠΠ·Π³Π»ΡΠ½ΠΈΡΠ΅ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, Π³Π΄Π΅ ΡΡΠ²Π΅ΡΠΆΠ΄Π°Π΅ΡΡΡ, ΡΡΠΎ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Linux:
ΠΈΠΌΠΏΠΎΡΡΠ½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ
assert ('linux' Π² sys.platform), Β«ΠΡΠΎΡ ΠΊΠΎΠ΄ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² Linux."
ΠΡΠ»ΠΈ Π²Ρ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΡΠΎΡ ΠΊΠΎΠ΄ Π½Π° ΠΌΠ°ΡΠΈΠ½Π΅ Linux, ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΉΠ΄Π΅Ρ. ΠΡΠ»ΠΈ Π±Ρ Π²Ρ Π·Π°ΠΏΡΡΡΠΈΠ»ΠΈ ΡΡΠΎΡ ΠΊΠΎΠ΄ Π½Π° ΠΌΠ°ΡΠΈΠ½Π΅ Windows, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ Π±ΡΠ»ΠΎ Π±Ρ False
, ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ» Π±Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ:
Traceback (ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π·Π²ΠΎΠ½ΠΎΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ):
Π€Π°ΠΉΠ» "", ΡΡΡΠΎΠΊΠ° 2, Π²
AssertionError: ΡΡΠΎΡ ΠΊΠΎΠ΄ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² Linux.
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΠ±ΡΠΎΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ AssertionError
— ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ΄Π΅Π»Π°Π΅Ρ.ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π±ΡΠ΄Π΅Ρ ΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° ββΠΈ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡΡΡ. Π§ΡΠΎ, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ ΡΠΎ, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ?
ΠΏΡΡΠ°ΡΡΡΡ
ΠΈ ΠΊΡΠΎΠΌΠ΅
ΠΠ»ΠΎΠΊ: ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΠ»ΠΎΠΊ try
ΠΈ except
Π² Python ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Ρ
Π²Π°ΡΠ° ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ. Python Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠΎΠ΄, ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ try
, ΠΊΠ°ΠΊ Β«Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΡΒ» ΡΠ°ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠΎΠ΄, ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ except
, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ²Π΅ΡΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π»ΡΠ±ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ try
.
ΠΠ°ΠΊ Π²Ρ Π²ΠΈΠ΄Π΅Π»ΠΈ ΡΠ°Π½Π΅Π΅, ΠΊΠΎΠ³Π΄Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ, Python Π²ΡΠ΄Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. ΠΡΠ° ΠΎΡΠΈΠ±ΠΊΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΡΠ±ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π°. ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ except
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΠΊΠ°ΠΊ Π²Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ΅Π°Π³ΠΈΡΡΠ΅Ρ Π½Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅
ΠΈ , ΠΊΡΠΎΠΌΠ΅ Π±Π»ΠΎΠΊΠ°
:
def linux_interaction ():
assert ('linux' Π² sys.platform), Β«Π€ΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
Linux."
print ('ΠΠ΅Π»Π°Ρ ΡΡΠΎ-ΡΠΎ.')
linux_interaction ()
ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Linux. assert
Π² ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΠ·ΠΎΠ²Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ AssertionError
, Π΅ΡΠ»ΠΈ Π²Ρ Π²ΡΠ·ΠΎΠ²Π΅ΡΠ΅ Π΅Π³ΠΎ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅, ΠΎΡΠ»ΠΈΡΠ½ΠΎΠΉ ΠΎΡ Linux.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ
, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅:
linux_interaction ()
ΠΡΠΎΠΌΠ΅:
ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡΡ
ΠΠ΄Π΅ΡΡ Π²Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ ΠΎΡΠΈΠ±ΠΊΡ, ΡΠ°Π·Π΄Π°Π² ΠΏΡΠΎΡ
ΠΎΠ΄
.ΠΡΠ»ΠΈ Π±Ρ Π²Ρ Π·Π°ΠΏΡΡΡΠΈΠ»ΠΈ ΡΡΠΎΡ ΠΊΠΎΠ΄ Π½Π° ΠΌΠ°ΡΠΈΠ½Π΅ Windows, Π²Ρ Π±Ρ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
Π£ Π²Π°Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅Ρ. ΠΠ΄Π΅ΡΡ Ρ
ΠΎΡΠΎΡΠΎ ΡΠΎ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ Π²ΡΠ»Π΅ΡΠ΅Π»Π°. ΠΠΎ Π±ΡΠ»ΠΎ Π±Ρ Π½Π΅ΠΏΠ»ΠΎΡ
ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΎ Π»ΠΈ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΏΡΡΠΊΠ°Π»ΠΈ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄. Π‘ ΡΡΠΎΠΉ ΡΠ΅Π»ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠΎΡ
ΠΎΠ΄
Π½Π° ΡΡΠΎ-ΡΠΎ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ²Π½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅:
linux_interaction ()
ΠΡΠΎΠΌΠ΅:
print ('Π€ΡΠ½ΠΊΡΠΈΡ Linux Π½Π΅ Π±ΡΠ»Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π°')
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΡΠΎΡ ΠΊΠΎΠ΄ Π½Π° ΠΌΠ°ΡΠΈΠ½Π΅ Windows:
Π€ΡΠ½ΠΊΡΠΈΡ Linux Π½Π΅ Π±ΡΠ»Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π°
ΠΠΎΠ³Π΄Π° Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠ΅ΠΉ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ ΡΠ°Π±ΠΎΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠΎΠ±ΡΠΈΡ Π²Π°ΠΌ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ Π±ΡΠ» ΡΡΠΏΠ΅ΡΠ½ΡΠΌ.
ΠΡ Π½Π΅ ΡΠΌΠΎΠ³Π»ΠΈ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠΈΠΏ ΠΎΡΠΈΠ±ΠΊΠΈ, Π²ΠΎΠ·Π½ΠΈΠΊΡΠ΅ΠΉ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ. Π§ΡΠΎΠ±Ρ ΡΠΎΡΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ ΠΏΠΎΡΠ»ΠΎ Π½Π΅ ΡΠ°ΠΊ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΉΠΌΠ°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ, ΠΊΠΎΡΠΎΡΡΡ Π²ΡΠ΄Π°Π»Π° ΡΡΠ½ΠΊΡΠΈΡ.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Ρ ΡΠΈΠΊΡΠΈΡΡΠ΅ΡΠ΅ AssertionError
ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΡΠ΅ ΡΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΊΡΠ°Π½:
ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅:
linux_interaction ()
ΠΊΡΠΎΠΌΠ΅ AssertionError ΠΊΠ°ΠΊ ΠΎΡΠΈΠ±ΠΊΠΈ:
ΠΏΠ΅ΡΠ°ΡΡ (ΠΎΡΠΈΠ±ΠΊΠ°)
print ('Π€ΡΠ½ΠΊΡΠΈΡ linux_interaction () Π½Π΅ Π±ΡΠ»Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π°')
ΠΠ°ΠΏΡΡΠΊ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° ΠΌΠ°ΡΠΈΠ½Π΅ Windows Π΄Π°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
Π€ΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
Linux.Π€ΡΠ½ΠΊΡΠΈΡ linux_interaction () Π½Π΅ Π±ΡΠ»Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π°
ΠΠ΅ΡΠ²ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ — ΡΡΠΎ AssertionError
, ΠΈΠ½ΡΠΎΡΠΌΠΈΡΡΡΡΠ΅Π΅ Π²Π°Ρ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΌΠ°ΡΠΈΠ½Π΅ Linux. ΠΡΠΎΡΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Π²Π°ΠΌ, ΠΊΠ°ΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ Π±ΡΠ»Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π°.
Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²Ρ Π²ΡΠ·Π²Π°Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ ΡΠ°ΠΌΠΈ. ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π²Ρ ΠΏΠ΅ΡΠ΅Ρ
Π²Π°ΡΠΈΠ»ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ AssertionError
ΠΈ ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°Π»ΠΈ Π΅Π³ΠΎ Π½Π° ΡΠΊΡΠ°Π½Π΅.
ΠΠΎΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΠ΅ ΡΠ°ΠΉΠ» ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅:
ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅:
Ρ ΠΎΡΠΊΡΡΡΡΠΌ ('ΡΠ°ΠΉΠ».log ') ΠΊΠ°ΠΊ ΡΠ°ΠΉΠ»:
read_data = file.read ()
ΠΡΠΎΠΌΠ΅:
print ('ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ».log')
ΠΡΠ»ΠΈ file.log Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΡΡΠΎΡ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π²ΡΠ²Π΅Π΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΠΡΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΈ Π½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ ΡΠ°Π±ΠΎΡΡ. Π Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Python Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π·Π΄Π΅ΡΡ. ΠΠ΄Π½ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ Π½Π° ΡΡΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅, ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
FileNotFoundError
ΠΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, ΠΊΠΎΠ³Π΄Π° ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡΡΡ, Π½ΠΎ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ.Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΎΡΠΈΠ±ΠΊΠ΅ ENOENT.
Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠΈΡΡ ΡΡΠΎΡ ΡΠΈΠΏ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ Π²ΡΠ²Π΅ΡΡΠΈ Π΅Π³ΠΎ Π½Π° ΡΠΊΡΠ°Π½, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅:
Ρ open ('file.log') ΠΊΠ°ΠΊ ΡΠ°ΠΉΠ»:
read_data = file.read ()
ΠΊΡΠΎΠΌΠ΅ FileNotFoundError ΠΊΠ°ΠΊ fnf_error:
ΠΏΠ΅ΡΠ°ΡΡ (fnf_error)
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ file.log Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, Π²ΡΠ²ΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ:
[Errno 2] ΠΠ΅Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°: 'file.log'
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ try
ΠΈ ΠΎΠΆΠΈΠ΄Π°ΡΡ ΠΏΠ΅ΡΠ΅Ρ
Π²Π°ΡΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ.ΠΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΊΠΎΠ΄ Π² ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ try
ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: ΠΠ΅ΡΠ΅Ρ
Π²Π°Ρ ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΡΠΊΡΡΠ²Π°Π΅Ρ Π²ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈβ¦ Π΄Π°ΠΆΠ΅ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΡΠ΅. ΠΠΎΡ ΠΏΠΎΡΠ΅ΠΌΡ Π²Π°ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ·Π±Π΅Π³Π°ΡΡ Π³ΠΎΠ»ΡΡ
, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ
, Π² Π²Π°ΡΠΈΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ
Π½Π° Python. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΠΊΠ»Π°ΡΡΠ°ΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ , ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅Ρ
Π²Π°ΡΡΠ²Π°ΡΡ ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ ΡΠΎΠΌ, ΠΏΠΎΡΠ΅ΠΌΡ ΡΡΠΎ Ρ
ΠΎΡΠΎΡΠ°Ρ ΠΈΠ΄Π΅Ρ, Π² ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅.
ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄. ΠΠ΄Π΅ΡΡ Π²Ρ ΡΠ½Π°ΡΠ°Π»Π° Π²ΡΠ·ΡΠ²Π°Π΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ linux_interaction ()
, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ»:
ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅:
linux_interaction ()
Ρ open ('file.log') ΠΊΠ°ΠΊ ΡΠ°ΠΉΠ»:
read_data = file.read ()
ΠΊΡΠΎΠΌΠ΅ FileNotFoundError ΠΊΠ°ΠΊ fnf_error:
ΠΏΠ΅ΡΠ°ΡΡ (fnf_error)
ΠΊΡΠΎΠΌΠ΅ AssertionError ΠΊΠ°ΠΊ ΠΎΡΠΈΠ±ΠΊΠΈ:
ΠΏΠ΅ΡΠ°ΡΡ (ΠΎΡΠΈΠ±ΠΊΠ°)
print ('Π€ΡΠ½ΠΊΡΠΈΡ Linux linux_interaction () Π½Π΅ Π±ΡΠ»Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π°')
ΠΡΠ»ΠΈ ΡΠ°ΠΉΠ» Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, Π·Π°ΠΏΡΡΠΊ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° ΠΌΠ°ΡΠΈΠ½Π΅ Windows Π²ΡΠ΄Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
Π€ΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
Linux.Π€ΡΠ½ΠΊΡΠΈΡ Linux linux_interaction () Π½Π΅ Π±ΡΠ»Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π°
ΠΠ½ΡΡΡΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ try
Π²Ρ ΡΡΠ°Π·Ρ ΠΆΠ΅ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΠΈΡΡ Ρ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠ΅ΠΉ ΠΈ Π½Π΅ Π΄ΠΎΡΠ»ΠΈ Π΄ΠΎ ΡΠΎΠΉ ΡΠ°ΡΡΠΈ, Π³Π΄Π΅ ΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΎΡΠΊΡΡΡΡ file.log . Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΠ΅ ΠΊΠΎΠ΄ Π½Π° ΠΌΠ°ΡΠΈΠ½Π΅ Linux:
[Errno 2] ΠΠ΅Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°: 'file.log'
ΠΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π²ΡΠ²ΠΎΠ΄Ρ:
- ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅
try
Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΠ³Π΄Π° Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅. - ΠΠ½ΡΡΡΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ
except
ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π²Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ΅Π°Π³ΠΈΡΡΠ΅Ρ Π½Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅. - ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄Π΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΈ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡ, ΠΊΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π° Π½ΠΈΡ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ.
- ΠΠ·Π±Π΅Π³Π°ΠΉΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠ½ΠΊΡΠΎΠ²
.
ΠΈΠ½Π°ΡΠ΅
ΠΡΠ½ΠΊΡ Π Python Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° else
ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ.
ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅:
linux_interaction ()
ΠΊΡΠΎΠΌΠ΅ AssertionError ΠΊΠ°ΠΊ ΠΎΡΠΈΠ±ΠΊΠΈ:
ΠΏΠ΅ΡΠ°ΡΡ (ΠΎΡΠΈΠ±ΠΊΠ°)
Π΅ΡΠ΅:
print ('ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ else.')
ΠΡΠ»ΠΈ Π±Ρ Π²Ρ Π·Π°ΠΏΡΡΡΠΈΠ»ΠΈ ΡΡΠΎΡ ΠΊΠΎΠ΄ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Linux, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ» Π±Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ:
Π§ΡΠΎ-ΡΠΎ Π΄Π΅Π»Π°ΡΡ.
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ else.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ Π²ΡΠ·Π²Π°Π»Π° Π½ΠΈΠΊΠ°ΠΊΠΈΡ
ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, Π±ΡΠ»ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ else
.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ
, ΡΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠ΄ Π²Π½ΡΡΡΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ else
ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠ΅ΡΠ΅Ρ
Π²Π°ΡΠΈΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ:
ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅:
linux_interaction ()
ΠΊΡΠΎΠΌΠ΅ AssertionError ΠΊΠ°ΠΊ ΠΎΡΠΈΠ±ΠΊΠΈ:
ΠΏΠ΅ΡΠ°ΡΡ (ΠΎΡΠΈΠ±ΠΊΠ°)
Π΅ΡΠ΅:
ΠΏΡΡΠ°ΡΡΡΡ:
Ρ ΠΎΡΠΊΡΡΡΡΠΌ ('ΡΠ°ΠΉΠ».log ') ΠΊΠ°ΠΊ ΡΠ°ΠΉΠ»:
read_data = file.read ()
ΠΊΡΠΎΠΌΠ΅ FileNotFoundError ΠΊΠ°ΠΊ fnf_error:
ΠΏΠ΅ΡΠ°ΡΡ (fnf_error)
ΠΡΠ»ΠΈ Π±Ρ Π²Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ ΡΡΠΎΡ ΠΊΠΎΠ΄ Π½Π° ΠΌΠ°ΡΠΈΠ½Π΅ Linux, Π²Ρ Π±Ρ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
Π§ΡΠΎ-ΡΠΎ Π΄Π΅Π»Π°ΡΡ.
[Errno 2] ΠΠ΅Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°: 'file.log'
ΠΠ· Π²ΡΡ
ΠΎΠ΄Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ linux_interaction ()
Π±ΡΠ»Π° Π·Π°ΠΏΡΡΠ΅Π½Π°. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ
ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π½Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΎ, Π±ΡΠ»Π° ΡΠ΄Π΅Π»Π°Π½Π° ΠΏΠΎΠΏΡΡΠΊΠ° ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ» file.log .ΠΡΠΎΡ ΡΠ°ΠΉΠ» Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΠΈ Π²ΠΌΠ΅ΡΡΠΎ Π΅Π³ΠΎ ΠΎΡΠΊΡΡΡΠΈΡ Π²Ρ ΠΏΠΎΠΉΠΌΠ°Π»ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ FileNotFoundError
.
ΠΡΠΈΡΡΠΊΠ° ΠΏΠΎΡΠ»Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
Π½Π°ΠΊΠΎΠ½Π΅Ρ
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ Π²Π°ΠΌ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΠ»ΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π΄Π»Ρ ΠΎΡΠΈΡΡΠΊΠΈ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°. Python ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ finally
.
ΠΠ·Π³Π»ΡΠ½ΠΈΡΠ΅ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅:
linux_interaction ()
ΠΊΡΠΎΠΌΠ΅ AssertionError ΠΊΠ°ΠΊ ΠΎΡΠΈΠ±ΠΊΠΈ:
ΠΏΠ΅ΡΠ°ΡΡ (ΠΎΡΠΈΠ±ΠΊΠ°)
Π΅ΡΠ΅:
ΠΏΡΡΠ°ΡΡΡΡ:
Ρ ΠΎΡΠΊΡΡΡΡΠΌ ('ΡΠ°ΠΉΠ».log ') ΠΊΠ°ΠΊ ΡΠ°ΠΉΠ»:
read_data = file.read ()
ΠΊΡΠΎΠΌΠ΅ FileNotFoundError ΠΊΠ°ΠΊ fnf_error:
ΠΏΠ΅ΡΠ°ΡΡ (fnf_error)
Π½Π°ΠΊΠΎΠ½Π΅Ρ-ΡΠΎ:
print ('ΠΡΠΈΡΡΠΊΠ°, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΊΠ°ΠΊΠΈΡ
-Π»ΠΈΠ±ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ.')
Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ Π²ΡΠ΅, ΡΡΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ finally
. ΠΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π²ΡΡΡΠ΅ΡΠΈΡΠ΅ Π»ΠΈ Π²Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π³Π΄Π΅-ΡΠΎ Π² ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡΡ
try
ΠΈΠ»ΠΈ else
. ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ Ρ Windows Π²ΡΠ΄Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
Π€ΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
Linux.Π£Π±ΠΎΡΠΊΠ°, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΊΠ°ΠΊΠΈΡ
-Π»ΠΈΠ±ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ.
ΠΠΎΠ΄Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈΡΠΎΠ³ΠΎΠ²
Π£Π²ΠΈΠ΄Π΅Π² ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ, Π²Ρ ΡΠ·Π½Π°Π»ΠΈ ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π°Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠ° ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π² Python. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π²Ρ Π²ΠΈΠ΄Π΅Π»ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ:
-
Raise
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ·Π²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅. -
assert
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠ΅, ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ. - Π ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ
try
Π²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅. -
, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ
, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠ° ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Π½ΡΡ Π² ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ try. -
else
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π·Π΄Π΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π² ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ try Π½Π΅ Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. -
finally
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°Π·Π΄Π΅Π»Ρ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π²ΡΠ΅Π³Π΄Π°, Ρ Π»ΡΠ±ΡΠΌΠΈ ΡΠ°Π½Π΅Π΅ Π²ΡΡΡΠ΅ΡΠ°Π²ΡΠΈΠΌΠΈΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΈΠ»ΠΈ Π±Π΅Π· Π½ΠΈΡ .
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠ° ΡΡΠ°ΡΡΡ ΠΏΠΎΠΌΠΎΠ³Π»Π° Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Python ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ.
Π‘ΠΌΠΎΡΡΠ΅ΡΡ ΡΠ΅ΠΉΡΠ°Ρ Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ Π΅ΡΡΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Π²ΠΈΠ΄Π΅ΠΎΠΊΡΡΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Real Python. ΠΡΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π΅Π³ΠΎ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΏΠΈΡΡΠΌΠ΅Π½Π½ΡΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΠ³Π»ΡΠ±ΠΈΡΡ ΡΠ²ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Python
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Python ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° try, except ΠΈ finally
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² Python
Python ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ (ΡΡΠΎ-ΡΠΎ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΈΠ΄Π΅Ρ Π½Π΅ ΡΠ°ΠΊ).
ΠΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΡΡΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Python ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ Π΅Π³ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΎΠ½ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½.ΠΡΠ»ΠΈ Π½Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΠΉΠ΄Π΅Ρ ΠΈΠ· ΡΡΡΠΎΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ A
, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ B
, ΠΊΠΎΡΠΎΡΠ°Ρ, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ C
. ΠΡΠ»ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π² ΡΡΠ½ΠΊΡΠΈΠΈ C
, Π½ΠΎ Π½Π΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ Π² C
, ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΡ Π² B
, Π° Π·Π°ΡΠ΅ΠΌ Π² A
.
ΠΡΠ»ΠΈ Π½Π΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, ΠΈ Π½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ.
ΠΠ΅ΡΠ΅Ρ Π²Π°Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π² Python
Π Python ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° try
.
ΠΡΠΈΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ try
. ΠΠΎΠ΄, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠΈΠΉ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, Π·Π°ΠΏΠΈΡΠ°Π½ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ
.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠ±ΡΠ°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. ΠΠΎΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ.
# import module sys Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
import sys
randomList = ['Π°', 0, 2]
Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ Π² randomList:
ΠΏΡΡΠ°ΡΡΡΡ:
print ("ΠΠ°ΠΏΠΈΡΡ Π΅ΡΡΡ", Π·Π°ΠΏΠΈΡΡ)
r = 1 / int (Π·Π°ΠΏΠΈΡΡ)
ΠΏΠ΅ΡΠ΅ΡΡΠ²
ΠΡΠΎΠΌΠ΅:
print ("ΠΠΉ!", sys.exc_info () [0], Β«ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ.Β»)
print ("Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ Π·Π°ΠΏΠΈΡΡ.")
Π Π°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ()
print ("ΠΠ±ΡΠ°ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅", entry, "ΡΠ°Π²Π½ΠΎ", r)
ΠΡΡ ΠΎΠ΄
ΠΠ°ΠΏΠΈΡΡ ΠΠΉ!ΠΏΡΠΎΠΈΠ·ΠΎΡΠ΅Π». Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ Π·Π°ΠΏΠΈΡΡ. ΠΠ°ΠΏΠΈΡΡ 0 ΠΠΉ! ΠΏΡΠΎΠΈΠ·ΠΎΡΠ΅Π». Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ Π·Π°ΠΏΠΈΡΡ. ΠΠ°ΠΏΠΈΡΡ 2 ΠΠ±ΡΠ°ΡΠ½ΠΎΠ΅ 2 ΡΠ°Π²Π½ΠΎ 0,5
Π ΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΌΡ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° randomList . ΠΠ°ΠΊ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡ ΡΠ°Π½Π΅Π΅, ΡΠ°ΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² Π±Π»ΠΎΠΊ try
.
ΠΡΠ»ΠΈ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, Π±Π»ΠΎΠΊ , Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ
, ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΏΠΎΡΠΎΠΊ (Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ). ΠΠΎ Π΅ΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΎΠ½ΠΎ ΠΏΠ΅ΡΠ΅Ρ
Π²Π°ΡΡΠ²Π°Π΅ΡΡΡ Π±Π»ΠΎΠΊΠΎΠΌ , ΠΊΡΠΎΠΌΠ΅
(ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΈ Π²ΡΠΎΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ).
ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΠΌ ΠΈΠΌΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ½ΠΊΡΠΈΡ exc_info ()
Π²Π½ΡΡΡΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ sys
. ΠΡ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ a
Π²ΡΠ·ΡΠ²Π°Π΅Ρ ValueError
, Π° 0
Π²ΡΠ·ΡΠ²Π°Π΅Ρ ZeroDivisionError
.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π² Python Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΡΡΡ ΠΎΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Exception
, ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π²ΡΡΠ΅ Π·Π°Π΄Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
# import module sys Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
import sys
randomList = ['Π°', 0, 2]
Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ Π² randomList:
ΠΏΡΡΠ°ΡΡΡΡ:
print ("ΠΠ°ΠΏΠΈΡΡ Π΅ΡΡΡ", Π·Π°ΠΏΠΈΡΡ)
r = 1 / int (Π·Π°ΠΏΠΈΡΡ)
ΠΏΠ΅ΡΠ΅ΡΡΠ²
ΠΊΡΠΎΠΌΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ e:
print ("ΠΠΉ!", e.__class__, Β«ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎΒ».)
print ("Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ Π·Π°ΠΏΠΈΡΡ.")
Π Π°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ()
print ("ΠΠ±ΡΠ°ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅", entry, "ΡΠ°Π²Π½ΠΎ", r)
ΠΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΡ ΠΆΠ΅ Π²ΡΠ²ΠΎΠ΄, ΡΡΠΎ ΠΈ Π²ΡΡΠ΅ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°.
ΠΠ΅ΡΠ΅Ρ Π²Π°Ρ ΠΎΡΠΎΠ±ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π² Python
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π½Π΅ ΡΠΏΠΎΠΌΡΠ½ΡΠ»ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΡ
ΠΎΡΠΎΠ±ΡΡ
ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π² , ΠΊΡΠΎΠΌΠ΅ ΠΏΡΠ½ΠΊΡΠ°
.
ΠΡΠΎ Π½Π΅ ΠΎΡΠ΅Π½Ρ Ρ
ΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½Π° ΠΏΠ΅ΡΠ΅Ρ
Π²Π°ΡΡΠ²Π°Π΅Ρ Π²ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π²ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ»Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ , ΠΊΡΠΎΠΌΠ΅ ΠΏΡΠ½ΠΊΡΠ°
.
ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ try
ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π»ΡΠ±ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ , Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ
Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ Π² ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΡΡΠ΅ΠΆ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π² ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ except. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄Π°.
ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅:
# ΡΠ΄Π΅Π»Π°ΠΉ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ
ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡΡ
ΠΊΡΠΎΠΌΠ΅ ValueError:
# ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ValueError
ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡΡ
except (TypeError, ZeroDivisionError):
# ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ
# TypeError ΠΈ ZeroDivisionError
ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡΡ
ΠΡΠΎΠΌΠ΅:
# ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
ΠΏΡΠΎΠ΅Π·Π΄Π½ΠΎΠΉ
ΠΡΠ·ΠΎΠ² ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π² Python
Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° Python ΠΏΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΡΡΠ½ΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ raise
.
ΠΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΡΠ½ΠΈΡΡ ΠΏΡΠΈΡΠΈΠ½Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
>>> ΠΏΠΎΠ΄Π½ΡΡΡ KeyboardInterrupt
ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ (ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²ΡΠ·ΠΎΠ² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ):
...
KeyboardInterrupt
>>> ΠΏΠΎΠ΄Π½ΡΡΡ MemoryError ("ΠΡΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ")
ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ (ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²ΡΠ·ΠΎΠ² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ):
...
MemoryError: ΡΡΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ
>>> ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅:
... a = int (input ("ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ:"))
...Π΅ΡΠ»ΠΈ a <= 0:
... ΠΏΠΎΠ΄Π½ΡΡΡ ValueError ("ΠΡΠΎ Π½Π΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ!")
... ΠΊΡΠΎΠΌΠ΅ ValueError as ve:
... ΠΏΠ΅ΡΠ°ΡΡ (Π²Π΅)
...
ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ: -2
ΠΡΠΎ Π½Π΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ!
Python ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ else
Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΠΈΡΡΠ°ΡΠΈΡΡ
Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°, Π΅ΡΠ»ΠΈ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π²Π½ΡΡΡΠΈ try
ΡΠ°Π±ΠΎΡΠ°Π» Π±Π΅Π· ΠΎΡΠΈΠ±ΠΎΠΊ. Π ΡΡΠΈΡ
ΡΠ»ΡΡΠ°ΡΡ
Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ else
Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ try
.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ : ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ else Π½Π΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌΠΈ ΡΠ°Π·Π΄Π΅Π»Π°ΠΌΠΈ except.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ:
# ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π»Ρ ΠΏΠ΅ΡΠ°ΡΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ ΡΠ΅ΡΠ½ΡΡ
ΡΠΈΡΠ΅Π»
ΠΏΡΡΠ°ΡΡΡΡ:
num = int (input ("ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠΈΡΠ»ΠΎ:"))
ΡΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡ ΡΠΈΡΠ»ΠΎ% 2 == 0
ΠΡΠΎΠΌΠ΅:
print (Β«ΠΠ΅ ΡΠ΅ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ!Β»)
Π΅ΡΠ΅:
ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ = 1 / ΡΠΈΡΠ»ΠΎ
ΠΏΠ΅ΡΠ°ΡΡ (ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ)
ΠΡΡ ΠΎΠ΄
ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π½Π΅ΡΠ΅ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ:
ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π½ΠΎΠΌΠ΅Ρ: 1 ΠΠ΅ ΡΠ΅ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ!
ΠΡΠ»ΠΈ ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ ΡΠ΅ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ Π²Π΅Π»ΠΈΡΠΈΠ½Π°.
ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠΈΡΠ»ΠΎ: 4 0,25
ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΄ΠΈΠΌ 0, ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ZeroDivisionError
, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠΎΠ΄ΠΎΠ²ΡΠΉ Π±Π»ΠΎΠΊ Π²Π½ΡΡΡΠΈ , ΠΈΠ½Π°ΡΠ΅
Π½Π΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌ , Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ
.
ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠΈΡΠ»ΠΎ: 0 ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ (ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²ΡΠ·ΠΎΠ² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ): Π€Π°ΠΉΠ» Β«<ΡΡΡΠΎΠΊΠ°>Β», ΡΡΡΠΎΠΊΠ° 7, Π² <ΠΌΠΎΠ΄ΡΠ»Π΅> ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ = 1 / ΡΠΈΡΠ»ΠΎ ZeroDivisionError: Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π½ΠΎΠ»Ρ
Python ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ... Π½Π°ΠΊΠΎΠ½Π΅Ρ
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ try
Π² Python ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ finally
.ΠΡΠΎΡ ΠΏΡΠ½ΠΊΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½Π΅ΡΠΌΠΎΡΡΡ Π½ΠΈ Π½Π° ΡΡΠΎ ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π²Π½Π΅ΡΠ½ΠΈΡ
ΡΠ΅ΡΡΡΡΠΎΠ².
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π±ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Ρ ΠΊ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡ ΡΠ΅Π½ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΡ ΠΈΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ°ΠΉΠ»ΠΎΠΌ ΠΈΠ»ΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (GUI).
ΠΠΎ Π²ΡΠ΅Ρ
ΡΡΠΈΡ
ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ²Π°Ρ
ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΠΈΡΡΠΈΡΡ ΡΠ΅ΡΡΡΡ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΎΠ½Π° Π·Π°ΠΏΡΡΠ΅Π½Π° ΠΈΠ»ΠΈ Π½Π΅Ρ. ΠΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ (Π·Π°ΠΊΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Π°, Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡ ΡΠ΅ΡΠΈ) Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ , Π½Π°ΠΊΠΎΠ½Π΅Ρ,
, ΡΡΠΎΠ±Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎ.
ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅:
f = open ("test.txt", encoding = 'utf-8')
# Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ
Π½Π°ΠΊΠΎΠ½Π΅Ρ-ΡΠΎ:
f.close ()
ΠΡΠΎΡ ΡΠΈΠΏ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ ΡΠ°ΠΉΠ» Π±ΡΠ΄Π΅Ρ Π·Π°ΠΊΡΡΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
Python ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅, ΠΊΡΠΎΠΌΠ΅: ΠΠΎΡΠ°Π³ΠΎΠ²ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ Python tryβ¦ except ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΡΠ²Π°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅. ΠΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΊΠΎΠ΄Π° Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΠΏΠΈΡΠ°Π½Π° Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ΅ Β«tryΒ».ΠΡΠ»ΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Π° ΠΎΡΠΈΠ±ΠΊΠ°, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π±Π»ΠΎΠΊΠ° Β«exceptΒ».
ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Try and Except Π² Python
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°, ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π²Ρ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ°ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΠΎΠ½Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
ΠΠ»ΠΎΠΊΠΈtryβ¦ except ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ.ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ finally ΠΈ else Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° Π±Π»ΠΎΠΊΠ° tryβ¦ except.
Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ try and except Π² Python. ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π±ΡΡΡΡΠΎ Π½Π°ΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ try and except.
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Python ΠΏΠΎ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌ
Π Python Π΅ΡΡΡ Π΄Π²Π° ΡΠΈΠΏΠ° ΠΎΡΠΈΠ±ΠΎΠΊ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ: ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ Python - ΡΡΠΎ ΡΠΈΠΏ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°.ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ ΡΠΈΠΊΠ» while True Π±Π΅Π· Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΡ Π² ΠΊΠΎΠ½ΡΠ΅, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΎΠΎΠ±ΡΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅.
ΠΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΎΠ½ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°, Π½ΠΎΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ ΠΈ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ ΡΠΎΠ³ΠΎ, Π³Π΄Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΠ°.
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ - ΡΡΠΎ ΡΠΈΠΏ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, Π½ΠΎ Π²ΡΠ΅ ΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠΎΠ² ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, Π½ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ , Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ, Π²ΠΊΠ»ΡΡΠ°ΡΡ: ArithmeticError, ImportError, ZeroDivisionError, NameError ΠΈ TypeError.
Python tryβ¦ ΠΊΡΠΎΠΌΠ΅ Π·Π°ΡΠ²Π»Π΅Π½ΠΈΡ
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ Python tryβ¦ except Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΊΠΎΠ΄ ΠΏΠΎΠ΄ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ try. ΠΡΠ»ΠΈ ΡΡΠΎΡ ΠΊΠΎΠ΄ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π½Π° ΡΡΡΠΎΠΊΠ΅, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ·Π²Π°Π»Π° ΠΎΡΠΈΠ±ΠΊΡ, ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡΡ ΠΊΠΎΠ΄ Β«ΠΊΡΠΎΠΌΠ΅Β».
ΠΠ»ΠΎΠΊ try ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΠ»ΠΎΠΊ except ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΠΎΡΠ²Π΅ΡΠ°.
ΠΠΎΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄Π»Ρ Π±Π»ΠΎΠΊΠ° tryβ¦ except:
ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅: Π²Π°Ρ ΠΊΠΎΠ΄... ΠΡΠΎΠΌΠ΅: Π²Π°Ρ ΠΊΠΎΠ΄ ...
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΊΠ»ΡΡΠΈΡΡ Π»ΡΠ±ΠΎΠΉ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ ΠΊΠΎΠ΄ Python Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ try ΠΈΠ»ΠΈ except.
ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅β¦ ΠΊΡΠΎΠΌΠ΅ Python ΠΡΠΈΠΌΠ΅Ρ
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π΄Π»Ρ tryβ¦ except Blocks:
ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅: ΠΏΠ΅ΡΠ°ΡΡ (Π½Π°ΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ) ΠΡΠΎΠΌΠ΅: print ('ΠΡΠΈΠ±ΠΊΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Π°')
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π½Π΅ ΠΎΠ±ΡΡΠ²ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Python ourVariable , Π½ΠΎ ΠΌΡ ΠΏΡΡΠ°Π΅ΠΌΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π΅ Π² Π½Π°ΡΠ΅ΠΌ Π±Π»ΠΎΠΊΠ΅ try.
ΠΡΠ»ΠΈ Π±Ρ Ρ Π½Π°Ρ Π½Π΅ Π±ΡΠ»ΠΎ Π±Π»ΠΎΠΊΠΎΠ² tryβ¦ except Π² Π½Π°ΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²Π΅ΡΠ½ΡΠ»Π° Π±Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅.Π₯ΠΎΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ - ΡΡΠΎ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ, ΠΎΠ±ΡΡΠ½ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΡΠ°ΡΡΡΡ, Π΅ΡΠ»ΠΈ ΡΠ²ΠΈΠ΄ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ Π½Π°Ρ Π΅ΡΡΡ Π±Π»ΠΎΠΊΠΈ tryβ¦ except, Π½Π°Ρ ΠΊΠΎΠ΄ Π·Π½Π°Π΅Ρ, ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ ΠΏΡΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ.
ΠΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°:
ΠΠ»ΠΎΠΊΠΈtryβ¦ except ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π°ΠΊΠΊΡΡΠ°ΡΠ½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΡΡ ββΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠ°ΠΊ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ» ΠΆΡΡΠ½Π°Π»Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΏΠ°ΠΊΠ΅Ρ, ΠΊΠ°ΠΊ ΠΌΠΎΠ΄ΡΠ»Ρ Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΆΡΡΠ½Π°Π»Π° Python. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π°ΠΌ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΡΠΈΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅β¦ ΠΊΡΠΎΠΌΠ΅ Python: Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ , ΠΊΡΠΎΠΌΠ΅ , Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² ΠΎΡΠΈΠ±ΠΎΠΊ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ. ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠ΄ΠΎΠ·ΡΠ΅Π²Π°Π΅ΡΠ΅, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, Π½ΠΎ Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½Ρ, Ρ ΠΊΠ°ΠΊΠΈΠΌ ΠΈΠ· Π½ΠΈΡ Π²Ρ ΡΡΠΎΠ»ΠΊΠ½Π΅ΡΠ΅ΡΡ.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠΏΡΡΠΊΠΈβ¦ ΠΊΡΠΎΠΌΠ΅ Π±Π»ΠΎΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΡΡ NameError:
ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅: ΠΏΠ΅ΡΠ°ΡΡ (Π½Π°ΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ) ΠΊΡΠΎΠΌΠ΅ NameError: print ('Π½Π°ΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π°') ΠΡΠΎΠΌΠ΅: print ('ΠΡΠΈΠ±ΠΊΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Π°')
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π°Ρ ΠΊΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ourVariable Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ , ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½Π°Ρ ΠΊΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ NameError.ΠΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ZeroDivisionError ΠΈΠ»ΠΈ OSError, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ IOError ΠΈ FileNotFoundError, Π΅ΡΠ»ΠΈ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ». ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ Π²Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΡΠ°Π±ΠΎΡΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΏΡΠΈ ΠΎΡΠΊΡΡΡΠΈΠΈ ΡΠ°ΠΉΠ»Π°, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΡΡΡΠ»Π°Π΅ΡΠ΅ΡΡ, ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°.
ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅β¦ ΠΊΡΠΎΠΌΠ΅ Python: ΠΠ°ΠΊΠΎΠ½Π΅Ρ
ΠΠΎ ΡΡΠΎ, Π΅ΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ, ΡΡΠΎΠ±Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ, ΡΠ°ΠΊ ΠΈ ΠΏΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ? ΠΠΎΡ ΡΡΡ ΠΈ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π±Π»ΠΎΠΊ , Π½Π°ΠΊΠΎΠ½Π΅Ρ, .ΠΡΠ»ΠΈ Π²Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ finally, Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π»ΠΈ Π±Π»ΠΎΠΊ tryβ¦ except ΠΎΡΠΈΠ±ΠΊΡ.
ΠΠ»ΠΎΠΊΠΈ finally - ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π²Π°Ρ ΠΊΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ». ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ Π½Π΅ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡ, Π±ΡΠ» Π»ΠΈ ΠΊΠΎΠ΄ ΡΡΠΏΠ΅ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½, ΠΎΠ½ΠΈ Π½Π΅ ΡΠ°ΠΊ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅: ΠΏΠ΅ΡΠ°ΡΡ (Π½Π°ΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ) ΠΡΠΎΠΌΠ΅: print ('Π½Π°ΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π°') Π½Π°ΠΊΠΎΠ½Π΅Ρ-ΡΠΎ: print ('ΠΠΎΠ΄ Π±ΡΠ» Π·Π°ΠΏΡΡΠ΅Π½.')
ΠΠ°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
Π½Π°ΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΠΠΎΠ΄ Π±ΡΠ» Π·Π°ΠΏΡΡΠ΅Π½.
ΠΠΎΠ΄ Π² Π±Π»ΠΎΠΊΠ΅ Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π² Π½Π°ΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ (Π½Π°ΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π°). ΠΠΎΠ΄ Π² ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ finally ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½Π°Ρ ΠΊΠΎΠ΄ Π·Π°Π²Π΅ΡΡΠΈΠ» ΡΠ°Π±ΠΎΡΡ.
ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅β¦ ΠΊΡΠΎΠΌΠ΅ Python: Else
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ else, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΈΠ½ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΠ± ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΈΠ³ΡΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΊΠ»ΡΡΠΈΡΡ Π±Π»ΠΎΠΊ tryβ¦ exceptβ¦ else, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ Π°Π΄ΡΠ΅Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ. ΠΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ, Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ except. ΠΡΠ»ΠΈ ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ Π°Π΄ΡΠ΅Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½Ρ, Π±Π»ΠΎΠΊ else ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΏΡΡΠ΅Π½.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅: print ('Π’Π΅ΡΡ') ΠΡΠΎΠΌΠ΅: print ('ΠΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°.') Π΅ΡΠ΅: print ('ΠΡΠΎΠ±Π»Π΅ΠΌ Π½Π΅Ρ.')
ΠΠ°Ρ ΠΊΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΠΠ°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Python Π½Π΅ Π²ΡΡΡΠ΅ΡΠ°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ.Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠ΄ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ΅ else . ΠΠΏΠ΅ΡΠ°ΡΠΎΡ else Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Ρ Π½Π°ΡΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π½Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
Π‘ΠΌ. Repl.it ΠΈΠ· ΡΡΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°:
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ»ΠΎΠΊΠΈtryβ¦ except ΡΠΏΡΠΎΡΠ°ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΊΠΎΠ΄Π° Python. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΡΠ°Π΅ΡΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠ΄ Π² Π±Π»ΠΎΠΊΠ΅ Β«ΠΏΠΎΠΏΡΡΠΊΠΈΒ». ΠΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ ΡΠ΄Π°Π΅ΡΡΡ, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π±Π»ΠΎΠΊ Β«ΠΊΡΠΎΠΌΠ΅Β». ΠΠΎΠ΄ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ΅ Β«finallyΒ» Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π»ΠΈ Π±Π»ΠΎΠΊ Β«exceptΒ».
Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΌΡ ΡΠ°Π·ΠΎΠ±ΡΠ°Π»ΠΈ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±Π»ΠΎΠΊΠΈ tryβ¦ except. ΠΡ ΠΎΠ±ΡΡΠ΄ΠΈΠ»ΠΈ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ , Π΅ΡΠ΅ ΠΈ , ΠΊΡΠΎΠΌΠ΅ , Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ.
ΠΡΠΈ Π±Π»ΠΎΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ ΠΏΡΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ Π²Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΈ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ ΠΏΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ Python ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² Π½Π°ΡΠ΅ΠΌ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ Β«ΠΠ°ΠΊ ΠΈΠ·ΡΡΠ°ΡΡ PythonΒ».
ΠΡΠ±ΡΠ°ΡΡΠ²Π°Π½ΠΈΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π² Python
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ.ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π½ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎΠ²Π½Π΅ΠΉ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΠ»ΠΎΡ ΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π½Π°ΡΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½Π½ΡΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , Π½Π΅Ρ Π²Π°ΡΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΎΠ³Π΄Π° ΡΠ°ΠΊΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΏΠΎΡΠΎΠΊ, ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ . Π Π·Π°Π΄Π°ΡΠ° Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ - ΠΈ Π²Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° ΠΊΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° - Π°ΠΊΠΊΡΡΠ°ΡΠ½ΠΎ Π²ΡΠ»Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΡΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π»ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Python?
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ Python ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΏΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ Π²ΡΡΠ΅, ΠΈ ΠΏΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ Π΄ΡΡΠ³ΠΈΠΌ; ΠΈ Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π½Π΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ Π΄ΠΎΠ»ΠΆΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π²ΡΠ·Π²Π°ΡΡ ΡΠ±ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΏΠΎΡΠ΅ΡΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ, ΡΡΠΎ Π΅ΡΠ΅ Ρ ΡΠΆΠ΅, ΠΊ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ . ΠΠ°ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ Python Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ ΠΈ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄.
Π ΡΡΠ°ΡΡΡΡ, Python ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΈ Π½Π°Π±ΠΎΡ ΠΏΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Python ΠΌΠΎΠ³ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠΈΠΏ ΠΎΡΠΈΠ±ΠΊΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.Π‘ΡΠ΄Π° ΠΌΠΎΠ³ΡΡ Π²Ρ ΠΎΠ΄ΠΈΡΡ ΡΠ°ΠΊΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΊΠ°ΠΊ Π²ΡΠ±ΠΎΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΡΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΠ»ΠΈ Π·Π°ΠΏΡΠΎΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°.
ΠΡΠ° ΡΡΠ°ΡΡΡ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ Π²Π°ΠΌ, ΠΊΠ°ΠΊ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅ Python ΠΈ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
Π Π°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ Python ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ Python
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΡΠ³Π»ΡΠ±Π»ΡΡΡΡΡ Π² Π΄Π΅ΡΠ°Π»ΠΈ, Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ Π΄Π²Π° ΡΠΈΠΏΠ° Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° Python - ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ° ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ .
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ΄ Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²Π°ΠΌ Python, ΡΡΠΈΠ»Ρ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΡΡΡΠΊΡΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅Ρ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π½Π° ΡΡΠ°ΠΏΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ SyntaxError
. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΈ Π΄Π°Π΅Ρ ΡΠ±ΠΎΠΉ Π² ΡΠΎΠΌ ΠΌΠ΅ΡΡΠ΅, Π³Π΄Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ°. ΠΠΎΡ ΠΏΠΎΡΠ΅ΠΌΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ - ΡΡΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΡΠ°Π²ΠΈΡΡΡΡ.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π° Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ (ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Π΄Π²ΠΎΠ΅ΡΠΎΡΠΈΡ ΠΏΠΎΡΠ»Π΅ ΡΡΠ»ΠΎΠ²ΠΈΡ Β«Π΅ΡΠ»ΠΈΒ» Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ ):
a = 10
Π± = 20
Π΅ΡΠ»ΠΈ (a
ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΡΠ»Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½ΠΎΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ.SyntaxError: Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΡΠΎΡΠ΅ΡΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π²ΡΡ ΠΎΠ΄Π° 1
Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ΄ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ, Π½ΠΎ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΎΡΠΈΠ±ΠΎΡΠ½ΡΠΌΠΈ ΡΠΈΡΡΠ°ΡΠΈΡΠΌΠΈ. ΠΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ Π² ΠΊΠΎΠ΄Π΅ - Π»ΠΈΠ±ΠΎ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, Π»ΠΈΠ±ΠΎ Π² ΡΡΠ΅ΠΊΠ΅ Π²ΡΠ·ΠΎΠ²ΠΎΠ². Π ΡΡΠΎΠΌ ΡΠΌΡΡΠ»Π΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π΅ ΡΠ°ΡΠ°Π»ΡΠ½Ρ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Python ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΡΠ°Π±ΠΎΡΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½Π° ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° Python, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π΅Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ.ΠΠ½ ΠΏΡΡΠ°Π΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Ρ Π΄Π²ΡΠΌΡ ΡΡΡΠΎΠΊΠΎΠ²ΡΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ:
a = 'foo'
b = 'Π±Π°Ρ'
print (a% b)
ΠΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ TypeError
:
Traceback (ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²ΡΠ·ΠΎΠ² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ):
Π€Π°ΠΉΠ» test.py ", ΡΡΡΠΎΠΊΠ° 4, Π²
ΠΏΠ΅ΡΠ°ΡΡ (a% b)
TypeError: Π½Π΅ Π²ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ
ΠΡΠΎΡΠ΅ΡΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π²ΡΡ
ΠΎΠ΄Π° 1
Python Π²ΡΠ΄Π°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ TypeError
ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ
ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ
.ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ TypeError
, Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ
ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
- ModuleNotFoundError
- ImportError
- ΠΡΠΈΠ±ΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ
- ΠΡΠΈΠ±ΠΊΠ° OS
- ΠΡΠΈΠ±ΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΡ
- ... Π ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅
ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Python.
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π² Python
ΠΠ½ΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ, ΡΡΠΎΠ±Ρ Python Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π» Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ, ΠΏΡΠΎΠ²Π΅ΡΠΈΠ² ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΈ Π²ΡΠ·Π²Π°Π² ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, Π΅ΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΈΡΡΠΈΠ½Π½ΠΎ.ΠΠΎΠ·Π½ΠΈΠΊΡΠ΅Π΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π°Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ raise
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Python Π²ΡΡΡΠ½ΡΡ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
ΠΠΎΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ: ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²Ρ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²Π΅Π» Π΄Π°ΡΡ. ΠΠ°ΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π»ΠΈΠ±ΠΎ ΡΠ΅Π³ΠΎΠ΄Π½Ρ, Π»ΠΈΠ±ΠΎ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ. ΠΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²ΠΎΠ΄ΠΈΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π΄Π°ΡΡ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠ·Π²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅:
Python, ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
from datetime import datetime
current_date = datetime.ΡΠ΅ΠΉΡΠ°Ρ()
print ("Π’Π΅ΠΊΡΡΠ°Ρ Π΄Π°ΡΠ°:" + current_date.strftime ('% Y-% m-% d'))
dateinput = input ("ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π΄Π°ΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Π³Π³Π³Π³-ΠΌΠΌ-Π΄Π΄:")
"" "ΠΡ Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΡΠΎΡΠΌΠ°Ρ Π²Π²ΠΎΠ΄Π° Π΄Π°ΡΡ Π·Π΄Π΅ΡΡ" ""
date_provided = datetime.strptime (dateinput, '% Y-% m-% d')
print ("Π£ΠΊΠ°Π·Π°Π½Π½Π°Ρ Π΄Π°ΡΠ°:" + date_provided.strftime ('% Y-% m-% d'))
Π΅ΡΠ»ΠΈ (date_provided.date ()
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΊΠΎΠ΄, ΠΌΡ Π²Π²ΠΎΠ΄ΠΈΠΌ Π΄Π°ΡΡ, Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½ΡΡ, ΡΠ΅ΠΌ ΡΠ΅ΠΊΡΡΠ°Ρ Π΄Π°ΡΠ°., Π΅ΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅
ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΈΡΡΠΈΠ½Π½ΠΎΠ΅ ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅:
Π’Π΅ΠΊΡΡΠ°Ρ Π΄Π°ΡΠ°: 2021-01-24
ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π΄Π°ΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Π³Π³Π³Π³-ΠΌΠΌ-Π΄Π΄: 2021-01-22
ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π° ββΠ΄Π°ΡΠ°: 22 ΡΠ½Π²Π°ΡΡ 2021 Π³.
ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ (ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²ΡΠ·ΠΎΠ² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ):
Π€Π°ΠΉΠ» "test.py", ΡΡΡΠΎΠΊΠ° 13, Π²
ΠΏΠΎΠ΄Π½ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ("Π£ΠΊΠ°Π·Π°Π½Π½Π°Ρ Π΄Π°ΡΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π² ΠΏΡΠΎΡΠ»ΠΎΠΌ")
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅: ΡΠΊΠ°Π·Π°Π½Π½Π°Ρ Π΄Π°ΡΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π² ΠΏΡΠΎΡΠ»ΠΎΠΌ.
ΠΡΠΎΡΠ΅ΡΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π²ΡΡ
ΠΎΠ΄Π° 1
ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅Π΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΊΠ°Π·Π°ΡΡ Π΄Π»Ρ Π½Π΅Π³ΠΎ ΡΠΈΠΏ:
...
Π΅ΡΠ»ΠΈ (date_provided.date ()
Π‘ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ Π²Π²ΠΎΠ΄ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈ ΡΠ°Π½ΡΡΠ΅, Python ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ΄Π°ΡΡ ΡΡΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅:
...
...
Raise ValueError ("Π£ΠΊΠ°Π·Π°Π½Π½Π°Ρ Π΄Π°ΡΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π² ΠΏΡΠΎΡΠ»ΠΎΠΌ")
ValueError: ΡΠΊΠ°Π·Π°Π½Π½Π°Ρ Π΄Π°ΡΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π² ΠΏΡΠΎΡΠ»ΠΎΠΌ
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ AssertionError Π² Π²ΡΠ΄Π°ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Python
ΠΡΡΠ³ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± Π²ΡΠ·Π²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ - ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ . Π‘ ΠΏΠΎΠΌΠΎΡΡΡ assertion Π²Ρ ΡΡΠ²Π΅ΡΠΆΠ΄Π°Π΅ΡΠ΅, ΡΡΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΈΡΡΠΈΠ½Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΡΡΠΊΠΎΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°.ΠΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΈΡΡΠΈΠ½Π½ΠΎ, ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π»ΠΎΠΆΠ½ΠΎΠ΅, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΠ΄Π°Π΅Ρ AssertionError
. ΠΠ° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ΅ Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠΎΡΠΎΠΊ:
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ AssertionError
, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π° Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
from datetime import datetime
current_date = datetime.now ()
print ("Π’Π΅ΠΊΡΡΠ°Ρ Π΄Π°ΡΠ°:" + current_date.strftime ('% Y-% m-% d'))
dateinput = input ("ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π΄Π°ΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Π³Π³Π³Π³-ΠΌΠΌ-Π΄Π΄:")
"" "ΠΡ Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΡΠΎΡΠΌΠ°Ρ Π²Π²ΠΎΠ΄Π° Π΄Π°ΡΡ Π·Π΄Π΅ΡΡ" ""
date_provided = datetime.strptime (dateinput, '% Y-% m-% d')
print ("Π£ΠΊΠ°Π·Π°Π½Π½Π°Ρ Π΄Π°ΡΠ°:" + date_provided.strftime ('% Y-% m-% d'))
assert (date_provided.date ()> = current_date.date ()), Β«Π£ΠΊΠ°Π·Π°Π½Π½Π°Ρ Π΄Π°ΡΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π² ΠΏΡΠΎΡΠ»ΠΎΠΌΒ»
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΌΡ ΡΠ΄Π°Π»ΠΈΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Β«Π΅ΡΠ»ΠΈΒ» ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΠ²Π΅ΡΠΆΠ΄Π°Π΅ΠΌ, ΡΡΠΎ ΡΠΊΠ°Π·Π°Π½Π½Π°Ρ Π΄Π°ΡΠ° Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π΄Π°ΡΠ΅. ΠΡΠΈ Π²Π²ΠΎΠ΄Π΅ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΠΎΠΉ Π΄Π°ΡΡ AssertionError
ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ:
Π’Π΅ΠΊΡΡΠ°Ρ Π΄Π°ΡΠ°: 2021-01-24
ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π΄Π°ΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Π³Π³Π³Π³-ΠΌΠΌ-Π΄Π΄: 2021-01-23
ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ (ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²ΡΠ·ΠΎΠ² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ):
ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½Π°Ρ Π΄Π°ΡΠ°: 2021-01-23
Π€Π°ΠΉΠ» "test.py ", ΡΡΡΠΎΠΊΠ° 12, Π²
assert (date_provided.date ()> = current_date.date ()), Β«Π£ΠΊΠ°Π·Π°Π½Π½Π°Ρ Π΄Π°ΡΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π² ΠΏΡΠΎΡΠ»ΠΎΠΌΒ»
AssertionError: ΡΠΊΠ°Π·Π°Π½Π½Π°Ρ Π΄Π°ΡΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π² ΠΏΡΠΎΡΠ»ΠΎΠΌ
ΠΡΠΎΡΠ΅ΡΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π²ΡΡ
ΠΎΠ΄Π° 1
ΠΠ΅ΡΠ΅Ρ Π²Π°Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Python Ρ ΠΏΠΎΠΌΠΎΡΡΡ Try-Except
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² Python Π²ΡΡΡΠ½ΡΡ, ΠΏΠΎΡΠ° ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΡΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ try-catch
.Π Python Π΅Π³ΠΎ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠΎΡΠΌΠ° - ΠΏΠΎΠΏΡΡΠΎΠΊ, ΠΊΡΠΎΠΌΠ΅
. ΠΠ»ΠΎΠΊ try-except Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
Python ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ try catch
<ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄>
...
ΠΏΡΡΠ°ΡΡΡΡ:
<ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄>
ΠΡΠΎΠΌΠ΅:
<ΠΊΠΎΠ΄ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ>
<ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄>
...
ΠΠ΄Π΅ΡΡ ΠΏΠΎΡΠΎΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²Ρ
ΠΎΠ΄ΠΈΡ Π² Π±Π»ΠΎΠΊ try
. Π ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΡ ΠΊ ΠΊΠΎΠ΄Ρ Π² Π±Π»ΠΎΠΊΠ΅ , ΠΊΡΠΎΠΌΠ΅ Π±Π»ΠΎΠΊΠ°
. ΠΠΎΠ΄ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΠ΅ Π² Π±Π»ΠΎΠΊ Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ
, Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΈΠΏΠ° ΠΎΡΠΈΠ±ΠΊΠΈ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ, ΠΏΠΎ Π²Π°ΡΠ΅ΠΌΡ ΠΌΠ½Π΅Π½ΠΈΡ, ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ ΠΊΠΎΠ΄ Π² Π±Π»ΠΎΠΊΠ΅ try
.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ Python try-except
(ΡΠ°ΡΡΠΎ ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ Β«try-catch-exceptionΒ»). ΠΠΎΠΏΡΡΡΠΈΠΌ, ΠΌΡ Ρ
ΠΎΡΠΈΠΌ, ΡΡΠΎΠ±Ρ Π½Π°Ρ ΠΊΠΎΠ΄ Π·Π°ΠΏΡΡΠΊΠ°Π»ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π²Π΅ΡΡΠΈΡ Python - 3. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ Π² ΠΊΠΎΠ΄Π΅ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
import sys
assert (sys.version_info [0] == 3), Β«ΠΠ΅ΡΡΠΈΡ Python Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ 3Β»
ΠΡΠ»ΠΈ Π²Π΅ΡΡΠΈΡ Python ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ 3, ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Traceback (ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²ΡΠ·ΠΎΠ² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ):
Π€Π°ΠΉΠ» "test.py", ΡΡΡΠΎΠΊΠ° 2, Π²
assert (sys.version_info [0] == 3), "ΠΠ΅ΡΡΠΈΡ Python Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ 3"
AssertionError: Π²Π΅ΡΡΠΈΡ Python Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ 3
ΠΡΠΎΡΠ΅ΡΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π²ΡΡ
ΠΎΠ΄Π° 1
ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π²ΡΠΉΡΠΈ ΠΈΠ· ΡΡΡΠΎΡ Ρ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΡΠΎΠ΄Π»ΠΈΠ²ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±Π»ΠΎΠΊ try-except
Π΄Π»Ρ ΠΏΠ»Π°Π²Π½ΠΎΠ³ΠΎ Π²ΡΡ
ΠΎΠ΄Π°.
ΠΈΠΌΠΏΠΎΡΡΠ½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ
ΠΏΡΡΠ°ΡΡΡΡ:
assert (sys.version_info [0] == 3), Β«ΠΠ΅ΡΡΠΈΡ Python Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ 3Β»
ΠΊΡΠΎΠΌΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ e:
print (e)
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ΅:
ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ except
Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΈΠΏ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ.Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎ, Π²Π΅ΡΠ½Π΅ΠΌΡΡ ΠΊ Π½Π°ΡΠ΅ΠΌΡ ΡΡΠ΅Π½Π°ΡΠΈΡ Π΄Π°ΡΡ ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π°. Π ΡΡΠΎΠΌ ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΠΌΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π»ΠΈ, ΡΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²ΠΎΠ΄ΠΈΡ Π΄Π°ΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Β«ΠΠΠΠ-ΠΠ-ΠΠΒ».
ΠΠ΄Π½Π°ΠΊΠΎ, ΠΊΠ°ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ Π»ΡΠ±ΠΎΠΉ ΡΠΈΠΏ ΠΎΡΠΈΠ±ΠΎΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ , Π° Π½Π΅ Π·Π°Π²ΠΈΡΠ΅ΡΡ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ°ΠΊΠΈΠΌΠΈ:
- ΠΠ°ΡΠ° Π½Π΅ ΡΠΊΠ°Π·Π°Π½Π° (ΠΏΡΡΡΠΎ)
- ΠΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΊΡΡ
- ΠΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ
- ΠΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ
- ΠΠ²Π΅Π΄Π΅Π½Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ
- ΠΠ²Π΅Π΄Π΅Π½ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΎΡΠΌΠ°Ρ Π΄Π°ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Β«Π΄Π΄ / ΠΌΠΌ / Π³Π³Π³Π³Β»)
Π§ΡΠΎΠ±Ρ ΡΡΠ΅ΡΡΡ Π²ΡΠ΅ ΡΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.ΠΡΠΎ ΠΏΠ΅ΡΠ΅Ρ
Π²Π°ΡΠΈΡ Π»ΡΠ±ΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ValueError
, Π²ΠΎΠ·Π½ΠΈΠΊΡΠ΅Π΅ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΈΠ· Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΡΡ
ΡΡΠ»ΠΎΠ²ΠΈΠΉ:
from datetime import datetime
current_date = datetime.now ()
print ("Π’Π΅ΠΊΡΡΠ°Ρ Π΄Π°ΡΠ°:" + current_date.strftime ('% Y-% m-% d'))
dateinput = input ("ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π΄Π°ΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Π³Π³Π³Π³-ΠΌΠΌ-Π΄Π΄:")
ΠΏΡΡΠ°ΡΡΡΡ:
date_provided = datetime.strptime (dateinput, '% Y-% m-% d')
ΠΊΡΠΎΠΌΠ΅ ValueError ΠΊΠ°ΠΊ e:
ΠΏΠ΅ΡΠ°ΡΡ (Π΅)
Π²ΡΡ
ΠΎΠ΄()
print ("Π£ΠΊΠ°Π·Π°Π½Π½Π°Ρ Π΄Π°ΡΠ°:" + date_provided.strftime ('% Y-% m-% d'))
assert (date_provided.date ()> = current_date.date ()), Β«Π£ΠΊΠ°Π·Π°Π½Π½Π°Ρ Π΄Π°ΡΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π² ΠΏΡΠΎΡΠ»ΠΎΠΌΒ»
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ Π·Π°Π²Π΅ΡΡΠΈΡ ΡΠ°Π±ΠΎΡΡ, Π΅ΡΠ»ΠΈ Π΄Π°ΡΠ° ΠΎΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½Π° Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΊΠ»ΡΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±Π»ΠΎΠΊΠΎΠ² , ΠΊΡΠΎΠΌΠ΅
, Π΄Π»Ρ Π±Π»ΠΎΠΊΠ° try
Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Ρ
Π²Π°ΡΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΡΠΈΠΏΠΎΠ² ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ. ΠΠ°ΠΆΠ΄ΡΠΉ Π±Π»ΠΎΠΊ , ΠΊΡΠΎΠΌΠ΅
, Π±ΡΠ΄Π΅Ρ Π°Π΄ΡΠ΅ΡΠΎΠ²Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΠΈΠΏ ΠΎΡΠΈΠ±ΠΊΠΈ:
...
ΠΏΡΡΠ°ΡΡΡΡ:
<ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄>
ΠΊΡΠΎΠΌΠ΅ <Π’ΠΈΠΏ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ 1>:
<ΠΊΠΎΠ΄ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ>
ΠΊΡΠΎΠΌΠ΅ <Π’ΠΈΠΏ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ 2>:
<ΠΊΠΎΠ΄ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ>
ΠΊΡΠΎΠΌΠ΅ <Π’ΠΈΠΏ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ 3>:
<ΠΊΠΎΠ΄ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ>
...
ΠΠΎΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ:
num0 = 10
ΠΏΡΡΠ°ΡΡΡΡ:
num1 = input ("ΠΠ²Π΅Π΄ΠΈΡΠ΅ 1-Π΅ ΡΠΈΡΠ»ΠΎ:")
num2 = input ("ΠΠ²Π΅Π΄ΠΈΡΠ΅ 2-Π΅ ΡΠΈΡΠ»ΠΎ:")
ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ = (int (num1) * int (num2)) / (num0 * int (num2))
ΠΊΡΠΎΠΌΠ΅ ValueError ΠΊΠ°ΠΊ ve:
ΠΏΠ΅ΡΠ°ΡΡ (Π²Π΅)
Π²ΡΡ
ΠΎΠ΄()
ΠΊΡΠΎΠΌΠ΅ ZeroDivisionError ΠΊΠ°ΠΊ zde:
ΠΏΠ΅ΡΠ°ΡΡ (Π·Π΄Π΅ΡΡ)
Π²ΡΡ
ΠΎΠ΄()
ΠΊΡΠΎΠΌΠ΅ TypeError ΠΊΠ°ΠΊ te:
ΠΏΠ΅ΡΠ°ΡΡ (te)
Π²ΡΡ
ΠΎΠ΄()
ΠΡΠΎΠΌΠ΅:
print ('ΠΠ΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ°!')
Π²ΡΡ
ΠΎΠ΄()
print (result)
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ:
nter 1st number: 1
ΠΠ²Π΅Π΄ΠΈΡΠ΅ 2-Π΅ ΡΠΈΡΠ»ΠΎ: 0
Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π½ΠΎΠ»Ρ
ΠΠ²Π΅Π΄ΠΈΡΠ΅ 1-Π΅ ΡΠΈΡΠ»ΠΎ:
ΠΠ²Π΅Π΄ΠΈΡΠ΅ 2-Π΅ ΡΠΈΡΠ»ΠΎ: 6
Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ Π»ΠΈΡΠ΅ΡΠ°Π» Π΄Π»Ρ int () Ρ Π±Π°Π·ΠΎΠΉ 10: ''
ΠΠ²Π΅Π΄ΠΈΡΠ΅ 1-Π΅ ΡΠΈΡΠ»ΠΎ: 12.99
ΠΠ²Π΅Π΄ΠΈΡΠ΅ 2-Π΅ ΡΠΈΡΠ»ΠΎ: 33
Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ Π»ΠΈΡΠ΅ΡΠ°Π» Π΄Π»Ρ int () Ρ Π±Π°Π·ΠΎΠΉ 10: '12 .99 '
ΠΠ΅ΡΠ΅Ρ Π²Π°Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Python Ρ ΠΏΠΎΠΌΠΎΡΡΡ Try-Except-Else
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Python try-except
- else
:
...
ΠΏΡΡΠ°ΡΡΡΡ:
<ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄>
ΠΊΡΠΎΠΌΠ΅ <Π’ΠΈΠΏ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ 1>:
<ΠΊΠΎΠ΄ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ>
ΠΊΡΠΎΠΌΠ΅ <Π’ΠΈΠΏ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ 2>:
<ΠΊΠΎΠ΄ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ>
ΠΊΡΠΎΠΌΠ΅ <Π’ΠΈΠΏ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ 3>:
<ΠΊΠΎΠ΄ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ>
...
Π΅ΡΠ΅:
<ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ°, Π΅ΡΠ»ΠΈ Π±Π»ΠΎΠΊ "try" Π½Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΎΠΊ>
...
ΠΠ»ΠΎΠΊ else
Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, Π΅ΡΠ»ΠΈ ΠΈΠ· Π±Π»ΠΎΠΊΠ° try
Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. ΠΠ»ΡΠ΄Ρ Π½Π° ΡΡΡΡΠΊΡΡΡΡ ΠΊΠΎΠ΄Π° Π²ΡΡΠ΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ else
Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Python ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎΡΡΠΈ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ if-else
.
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ else
, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ° ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π°. ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΡΠ΅Π½Π°ΡΠΈΠΉ, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ ΠΌΡ Π²ΡΡΠΈΡΠ»ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ , ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ
, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅.ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ ΡΡΠΎ Π² Π±Π»ΠΎΠΊ try
, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ Π΅Π³ΠΎ Π² Π±Π»ΠΎΠΊ else
.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ Π»ΡΠ±ΡΡ ΠΎΡΠΈΠ±ΠΊΡ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΡΡ ΠΏΡΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΈ Π²Ρ
ΠΎΠ΄Π½ΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π°. Π Π΅ΡΠ»ΠΈ Π½Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, Π±Π»ΠΎΠΊ else
Π²ΡΠΏΠΎΠ»Π½ΠΈΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅:
num0 = 10
ΠΏΡΡΠ°ΡΡΡΡ:
num1 = int (input ("ΠΠ²Π΅Π΄ΠΈΡΠ΅ 1-Π΅ ΡΠΈΡΠ»ΠΎ:"))
num2 = int (input ("ΠΠ²Π΅Π΄ΠΈΡΠ΅ 2-Π΅ ΡΠΈΡΠ»ΠΎ:"))
ΠΊΡΠΎΠΌΠ΅ ValueError ΠΊΠ°ΠΊ ve:
ΠΏΠ΅ΡΠ°ΡΡ (Π²Π΅)
Π²ΡΡ
ΠΎΠ΄()
ΠΊΡΠΎΠΌΠ΅ ZeroDivisionError ΠΊΠ°ΠΊ zde:
ΠΏΠ΅ΡΠ°ΡΡ (Π·Π΄Π΅ΡΡ)
Π²ΡΡ
ΠΎΠ΄()
ΠΊΡΠΎΠΌΠ΅ TypeError ΠΊΠ°ΠΊ te:
ΠΏΠ΅ΡΠ°ΡΡ (te)
Π²ΡΡ
ΠΎΠ΄()
ΠΡΠΎΠΌΠ΅:
print ('ΠΠ΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ°!')
Π²ΡΡ
ΠΎΠ΄()
Π΅ΡΠ΅:
ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ = (ΡΠΈΡΠ»ΠΎ1 * ΡΠΈΡΠ»ΠΎ2) / (ΡΠΈΡΠ»ΠΎ0 * ΡΠΈΡΠ»ΠΎ2)
print (ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ)
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΡΡ
ΡΠ΅Π»ΡΡ
ΡΠΈΡΠ΅Π» Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²Ρ
ΠΎΠ΄Π½ΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΊΠΎΠ΄ Π±Π»ΠΎΠΊΠ° else
:
ΠΠ²Π΅Π΄ΠΈΡΠ΅ 1-Π΅ ΡΠΈΡΠ»ΠΎ: 2
ΠΠ²Π΅Π΄ΠΈΡΠ΅ 2-Π΅ ΡΠΈΡΠ»ΠΎ: 3
0.2
Π ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΡΠ½ΡΡ
Π΄Π°Π½Π½ΡΡ
, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ ΠΏΡΡΡΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π΄Π΅ΡΡΡΠΈΡΠ½ΡΠ΅ ΡΠΈΡΠ»Π° ΠΈΠ»ΠΈ ΡΡΡΠΎΠΊΠΈ, ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π·Π°ΠΏΡΡΠΊΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ Π±Π»ΠΎΠΊΠ° , ΠΊΡΠΎΠΌΠ΅
, ΠΈ ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅Ρ Π±Π»ΠΎΠΊ else
:
ΠΠ²Π΅Π΄ΠΈΡΠ΅ 1-Π΅ ΡΠΈΡΠ»ΠΎ: s
Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ Π»ΠΈΡΠ΅ΡΠ°Π» Π΄Π»Ρ int () Ρ Π±Π°Π·ΠΎΠΉ 10: 's'
ΠΠ²Π΅Π΄ΠΈΡΠ΅ 1-Π΅ ΡΠΈΡΠ»ΠΎ: 20
ΠΠ²Π΅Π΄ΠΈΡΠ΅ 2-Π΅ ΡΠΈΡΠ»ΠΎ:
Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ Π»ΠΈΡΠ΅ΡΠ°Π» Π΄Π»Ρ int () Ρ Π±Π°Π·ΠΎΠΉ 10: ''
ΠΠ²Π΅Π΄ΠΈΡΠ΅ 1-Π΅ ΡΠΈΡΠ»ΠΎ: 5
ΠΠ²Π΅Π΄ΠΈΡΠ΅ 2-Π΅ ΡΠΈΡΠ»ΠΎ: 6.4
Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ Π»ΠΈΡΠ΅ΡΠ°Π» Π΄Π»Ρ int () Ρ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ 10: '6.4'
ΠΠ΄Π½Π°ΠΊΠΎ Π²ΡΠ΅ Π΅ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ
ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΠ³Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π±Π»ΠΎΠΊ else
:
ΠΠ²Π΅Π΄ΠΈΡΠ΅ 1-Π΅ ΡΠΈΡΠ»ΠΎ: 1
ΠΠ²Π΅Π΄ΠΈΡΠ΅ 2-Π΅ ΡΠΈΡΠ»ΠΎ: 0
ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ (ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²ΡΠ·ΠΎΠ² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ):
Π€Π°ΠΉΠ» "test.py ", ΡΡΡΠΎΠΊΠ° 19, Π²
ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ = (ΡΠΈΡΠ»ΠΎ1 * ΡΠΈΡΠ»ΠΎ2) / (ΡΠΈΡΠ»ΠΎ0 * ΡΠΈΡΠ»ΠΎ2)
ZeroDivisionError: Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π½ΠΎΠ»Ρ
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, ΠΎΠ±Π° Π²Π²ΠΎΠ΄Π° ΡΠ²Π»ΡΡΡΡΡ ΡΠ΅Π»ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ (1 ΠΈ 0), ΠΈ Π±Π»ΠΎΠΊ Β«tryΒ» ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΠΈΡ
Π² ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π°. ΠΠΎΠ³Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π±Π»ΠΎΠΊ else
, ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅.
ΠΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π²Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ Π² Π±Π»ΠΎΠΊΠ΅ else
? ΠΡ ΡΠ³Π°Π΄Π°Π»ΠΈ - Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π±Π»ΠΎΠΊ try-except-else
Π²Π½ΡΡΡΠΈ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ Π±Π»ΠΎΠΊΠ° else
:
num0 = 10
ΠΏΡΡΠ°ΡΡΡΡ:
num1 = int (input ("ΠΠ²Π΅Π΄ΠΈΡΠ΅ 1-Π΅ ΡΠΈΡΠ»ΠΎ:"))
num2 = int (input ("ΠΠ²Π΅Π΄ΠΈΡΠ΅ 2-Π΅ ΡΠΈΡΠ»ΠΎ:"))
ΠΊΡΠΎΠΌΠ΅ ValueError ΠΊΠ°ΠΊ ve:
ΠΏΠ΅ΡΠ°ΡΡ (Π²Π΅)
Π²ΡΡ
ΠΎΠ΄()
ΠΊΡΠΎΠΌΠ΅ ZeroDivisionError ΠΊΠ°ΠΊ zde:
ΠΏΠ΅ΡΠ°ΡΡ (Π·Π΄Π΅ΡΡ)
Π²ΡΡ
ΠΎΠ΄()
ΠΊΡΠΎΠΌΠ΅ TypeError ΠΊΠ°ΠΊ te:
ΠΏΠ΅ΡΠ°ΡΡ (te)
Π²ΡΡ
ΠΎΠ΄()
ΠΡΠΎΠΌΠ΅:
print ('ΠΠ΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ°!')
Π²ΡΡ
ΠΎΠ΄()
Π΅ΡΠ΅:
ΠΏΡΡΠ°ΡΡΡΡ:
ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ = (ΡΠΈΡΠ»ΠΎ1 * ΡΠΈΡΠ»ΠΎ2) / (ΡΠΈΡΠ»ΠΎ0 * ΡΠΈΡΠ»ΠΎ2)
ΠΊΡΠΎΠΌΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ e:
ΠΏΠ΅ΡΠ°ΡΡ (Π΅)
Π²ΡΡ
ΠΎΠ΄()
Π΅ΡΠ΅:
print (result)
Π’Π΅ΠΏΠ΅ΡΡ ΡΡΠΎ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π° Π½ΠΎΠ»Ρ:
ΠΠ²Π΅Π΄ΠΈΡΠ΅ 1-Π΅ ΡΠΈΡΠ»ΠΎ: 1
ΠΠ²Π΅Π΄ΠΈΡΠ΅ 2-Π΅ ΡΠΈΡΠ»ΠΎ: 0
Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π½ΠΎΠ»Ρ
ΠΠ΅ΡΠ΅Ρ Π²Π°Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Python Ρ ΠΏΠΎΠΌΠΎΡΡΡ Try-Except-Else-finally
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π±Π»ΠΎΠΊ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ Python.Π ΡΡΠΎ Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ , Π½Π°ΠΊΠΎΠ½Π΅Ρ,
:
Python, ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅, Π½Π°ΠΊΠΎΠ½Π΅Ρ, ΠΏΡΠΈΠΌΠ΅Ρ
...
ΠΏΡΡΠ°ΡΡΡΡ:
<ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄>
ΠΊΡΠΎΠΌΠ΅ <Π’ΠΈΠΏ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ 1>:
<ΠΊΠΎΠ΄ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ>
ΠΊΡΠΎΠΌΠ΅ <Π’ΠΈΠΏ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ 2>:
<ΠΊΠΎΠ΄ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ>
ΠΊΡΠΎΠΌΠ΅ <Π’ΠΈΠΏ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ 3>:
<ΠΊΠΎΠ΄ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ>
...
Π΅ΡΠ΅:
<ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ°, Π΅ΡΠ»ΠΈ Π±Π»ΠΎΠΊ "try" Π½Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΎΠΊ>
Π½Π°ΠΊΠΎΠ½Π΅Ρ-ΡΠΎ:
<ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π² Π±Π»ΠΎΠΊΠ΅ "try" ΠΈΠ»ΠΈ "else">
...
ΠΠ»ΠΎΠΊ finally
Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π»ΠΈ ΠΊΠΎΠ΄ Π±Π»ΠΎΠΊΠ° try
ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅. ΠΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠ΅Π½ ΠΊΠΎΠ΄ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌ Π±Π»ΠΎΠΊΠ΅ Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ
, Π° Π·Π°ΡΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠ΅Π½ ΠΊΠΎΠ΄ Π² Π±Π»ΠΎΠΊΠ΅ , Π½Π°ΠΊΠΎΠ½Π΅Ρ,
. ΠΡΠ»ΠΈ Π½Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠ΅Π½ ΠΊΠΎΠ΄ Π² Π±Π»ΠΎΠΊΠ΅ else
(Π΅ΡΠ»ΠΈ Π΅ΡΡΡ Π±Π»ΠΎΠΊ else
), Π° Π·Π°ΡΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠ΅Π½ ΠΊΠΎΠ΄ Π² Π±Π»ΠΎΠΊΠ΅ finally
.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠΎΠ΄ Π² Π±Π»ΠΎΠΊΠ΅ finally
Π²ΡΠ΅Π³Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ Π·Π΄Π΅ΡΡ ΡΠ²ΠΎΠΈ ΠΊΠΎΠ΄Ρ Β«ΠΎΡΠΈΡΡΠΊΠΈΒ», Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
- ΠΠ°ΠΏΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π² ΡΠ°ΠΉΠ»Ρ ΠΆΡΡΠ½Π°Π»Π°
- ΠΠ±Π½ΡΠ»Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠΎΠ², ΡΠΏΠΈΡΠΊΠΎΠ², ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²
- ΠΠ°ΠΊΡΡΡΠΈΠ΅ ΠΎΡΠΊΡΡΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²
- ΠΠ°ΠΊΡΡΡΠΈΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
- Π‘Π±ΡΠΎΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
- ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡ ΡΠ΅ΡΠ΅Π²ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ²
- ... Π ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ finally
:
ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅:
f = open ("testfile.txt", 'r')
ΠΊΡΠΎΠΌΠ΅ FileNotFoundError ΠΊΠ°ΠΊ fne:
ΠΏΠ΅ΡΠ°ΡΡ (fne)
print ('Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ...')
f = open ("testfile.txt", 'w')
f.write ('2')
Π΅ΡΠ΅:
data = f.readline (1)
ΠΏΠ΅ΡΠ°ΡΡ (Π΄Π°Π½Π½ΡΠ΅)
Π½Π°ΠΊΠΎΠ½Π΅Ρ-ΡΠΎ:
print ('ΠΠ°ΠΊΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Π°')
f.close ()
ΠΠ΄Π΅ΡΡ Π±Π»ΠΎΠΊ try
ΠΏΡΡΠ°Π΅ΡΡΡ ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ» Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ. ΠΡΠ»ΠΈ ΡΠ°ΠΉΠ» Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, Π±Π»ΠΎΠΊ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π°ΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠ°ΠΉΠ» ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΊ Π½Π΅ΠΌΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«2Β».ΠΡΠ»ΠΈ ΡΠ°ΠΉΠ» ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, Π±Π»ΠΎΠΊ else
ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ²ΡΡ ΡΡΡΠΎΠΊΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΈ ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΡΠ²Π°Π΅Ρ Π΅Π΅. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π±Π»ΠΎΠΊ finally
Π·Π°ΠΊΡΡΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ». ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π» ΡΠ°ΠΉΠ» ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΈΠ»ΠΈ Π½Π΅Ρ.
Π’ΠΎ, ΡΡΠΎ ΠΌΡ ΠΎΠ±ΡΡΠΆΠ΄Π°Π»ΠΈ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π·ΡΠΌΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Π±Π»ΠΎΠΊ-ΡΡ Π΅ΠΌΠ΅ Π½ΠΈΠΆΠ΅:
ΠΠ°ΠΊ Rollbar ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ Π² ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΈ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ Python
Rollbar - ΡΡΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠ³ΠΎ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠ½ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ Π½Π΅ΡΠ΄Π°ΡΠ½ΡΡ ΡΠ΅ΡΡΠΎΠ² Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° Π²ΡΠ΅Ρ ΡΡΠΎΠ²Π½ΡΡ ΡΡΠ΅ΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π²ΠΎ Π²ΡΠ΅Ρ ΡΡΠ΅Π΄Π°Ρ .ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΡΠ²Π΅Ρ Π½Π° ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ΅ Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Rollbar:
Rollbar ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΡΠΈΡΠΎΠΊΠΈΠΌ ΡΠΏΠ΅ΠΊΡΡΠΎΠΌ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ Python. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Python ΠΌΠΎΠ³ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ pyrollbar, SDK Rollbar Π΄Π»Ρ Python, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠ°ΠΊ pip, ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΡ ΠΊΠ»Π°ΡΡ Rollbar Π² ΠΊΠΎΠ΄ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Python Π² Rollbar. ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π½ΠΈΠΆΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ:
import rollbar
ΡΡΠ°Π½Π³Π°.init ('POST_SERVER_ITEM_ACCESS_TOKEN', 'ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ')
ΠΏΡΡΠ°ΡΡΡΡ:
<ΠΊΠΎΠ΄>
ΠΊΡΠΎΠΌΠ΅ TypeError:
rollbar.report_message ('ΠΠ΅ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ
', 'ΡΠ°ΡΠ°Π»ΡΠ½ΡΠΉ')
ΠΡΠΎΠΌΠ΅:
rollbar.report_exc_info ()
ΠΠ°ΠΊ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠΈΡΡ Π²ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² Python - Stackify
ΠΠ΄Π½Π° ΠΈΠ· ΠΏΡΠΎΠ±Π»Π΅ΠΌ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ, - ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠΈΡΡ Π²ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Python. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠ°ΡΡΠΎ ΠΊΠ»Π°ΡΡΠΈΡΠΈΡΠΈΡΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ Π½Π΅ ΡΠΌΠ΅ΡΡ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
Π ΡΠ»ΡΡΠ°Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Python ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π° Python Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅Ρ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ ΠΎΡΠΈΠ±ΠΊΡ. ΠΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π²Π° ΡΠΈΠΏΠ° ΠΎΡΠΈΠ±ΠΎΠΊ:
- Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ
- ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ (ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ)
ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ. Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ Python Π²ΡΠ·Π²Π°Π½Ρ Π½Π΅ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ (ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°) ΡΠ·ΡΠΊΠ°. ΠΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ ΠΊΠ°ΠΊ ΠΎΡΠΈΠ±ΠΊΠ° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ:
>>> age = {
'jj': 2,
'yoyo': 4
}
print (f'JJ is {age [Β«jjΒ»]} Π»Π΅Ρ .β)
ΠΠ° Π²ΡΡ ΠΎΠ΄Π΅:
JJ 2 Π³ΠΎΠ΄Π°.
ΠΡΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠΎΠ΄ Π±Π΅Π· ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΅ΡΠ΅ ΠΎΠ΄Π½Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ tomtom:
>>> age = {
'jj': 2,
'yoyo': 4
'tomtom': 6
}
print (f'JJ - ΡΡΠΎ { age [Β«jjΒ»]} Π»Π΅Ρ.
SyntaxError: Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
ΠΠ°ΠΊ Π²Ρ Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ, ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°Π» ΡΠΎΡΠ½ΡΡ ΡΡΡΠΎΠΊΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ°.ΠΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Python ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΡΠ°Π΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΌΠ΅ΡΡΠΎΠ½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ³ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°. ΠΠ½ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΠΎ, Π³Π΄Π΅ Π²ΠΏΠ΅ΡΠ²ΡΠ΅ Π·Π°ΠΌΠ΅ΡΠΈΠ» ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΡΠ°ΠΊ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΡ SyntaxError, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π»ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ ΠΎΡΠΈΠ±ΠΊΡ.
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅Ρ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π²Π½ΡΡΡΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ age. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΠΎ, ΡΡΠΎ Π²Π½ΡΡΡΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΡΠΎ-ΡΠΎ Π½Π΅ ΡΠ°ΠΊ.
ΠΡΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ°.
Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Python ΠΏΠΈΡΠ΅Ρ Π²ΠΏΠ΅ΡΠ°ΡΠ»ΡΡΡΠΈΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π°, Π³ΠΎΡΠΎΠ²ΡΠΉ ΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΡΡ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ, Π½ΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Python Π²ΡΠ΄Π°Π΅Ρ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΡΡ ΠΎΡΠΈΠ±ΠΊΡ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΡΡΠΎ ΡΠΆΠ΅ Π½Π΅ ΡΠΈΠΏΠΈΡΠ½Π°Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ°. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΠΌΠ΅ΡΡ Π΄Π΅Π»ΠΎ Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ, ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌΠΈ ΠΊΠ°ΠΊ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ .
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ³Π»ΡΠ±ΠΈΠΌΡΡ Π² ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² Python
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ - ΡΡΠΎ ΠΎΡΠΈΠ±ΠΊΠΈ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΡΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ Π»ΠΎΠ³ΠΈΡΠ½Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΡΠΈΡΠ»ΠΎ Π½Π° Π½ΠΎΠ»Ρ, Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΎΡΠΈΠ±ΠΊΡ ZeroDivisionError.ΠΠΎΠ³Π΄Π° Π²Ρ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΠ΅ Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ°ΠΉΠ» (ΡΠΈΡΠ°Π΅ΡΠ΅), Π²Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ FileNotFoundError. ΠΠ°Π»Π΅Π΅, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ, Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΎΡΠΈΠ±ΠΊΡ ImportError.
ΠΠΎΡ ΠΊΠ°ΠΊ Python ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π²ΡΡΠ΅ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ:
ZeroDivisionError
>>> 2/0
Traceback (ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²ΡΠ·ΠΎΠ² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ):
Π€Π°ΠΉΠ» Β«
ZeroDivisionError: Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π½ΠΎΠ»Ρ
FileNotFoundError
>>> open (Β«stack.txt Β»)
Traceback (ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²ΡΠ·ΠΎΠ² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ):
Π€Π°ΠΉΠ»Β«
FileNotFoundError: [Errno 2] ΠΠ΅Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°: 'stack.txt'
ImportError
>>> from collection import qwerty
Traceback (ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²ΡΠ·ΠΎΠ² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ):
Π€Π°ΠΉΠ» Β«
ImportError: Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠΌΡ Β«qwertyΒ»
ΠΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Python ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.ΠΠ°ΡΠ΅ΠΌ ΠΎΠ½ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΈ ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΡ ΡΡΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΡΠΌΠΈ ΠΎ ΡΠΎΠΌ, ΠΏΠΎΡΠ΅ΠΌΡ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°.
ΠΠΎΡ ΠΎΠ±ΡΠΈΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² Python:
- IndexError - ΠΡ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ, Π΅ΡΠ»ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΡΡΡΠΏ ΠΊ 6-ΠΌΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ, ΠΊΠΎΠ³Π΄Π° Π΄Π»ΠΈΠ½Π° ΡΠΏΠΈΡΠΊΠ° Π²ΡΠ΅Π³ΠΎ ΠΏΡΡΡ (5).
- IndentationError - ΠΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, ΠΊΠΎΠ³Π΄Π° ΠΎΡΡΡΡΠΏ ΡΠΊΠ°Π·Π°Π½ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ.
- ValueError - ΠΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, ΠΊΠΎΠ³Π΄Π° Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ ΠΈΠΌΠ΅Π΅Ρ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ ΡΠΈΠΏ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², Π½ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΈΠΌΠ΅ΡΡ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
- IOError - Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠ°ΡΡΠΎ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ Ρ ΡΡΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ ΠΏΡΠΈ ΡΠ±ΠΎΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²Π²ΠΎΠ΄Π° / Π²ΡΠ²ΠΎΠ΄Π°.
- ΠΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ° - ΠΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΡΠΈ ΡΠ±ΠΎΠ΅ ΡΠΈΡΠ»ΠΎΠ²ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ.
- ΠΡΠΈΠ±ΠΊΠ° Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ - ΠΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΡΠΈ ΡΠ±ΠΎΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ.
- ΠΡΠΈΠ±ΠΊΠ° ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ - ΠΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΡΠΈ ΠΎΡΠΈΠ±ΠΊΠ΅ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ.
- ΠΡΠΈΠ±ΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ - Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ, Π΅ΡΠ»ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π²Π΅Π»ΠΈΠΊ ΠΈ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π½Π΅ΡΠΈΡΠ°Π΅ΠΌΡΠΌ Π΄Π»Ρ ΠΌΠ°ΡΠΈΠ½Ρ.
- ΠΡΠΈΠ±ΠΊΠ° ΡΠΈΠΏΠ° - ΠΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, ΠΊΠΎΠ³Π΄Π° ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΡΠΈΠΏ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠ΅ΡΠΈΡΡ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Python, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΡ Python . Π₯ΠΎΡΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ Python ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΎΡΠ»ΠΈΡΠ½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ, ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Python ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»ΡΡΡΠΈΡΡ. Application Performance Management (APM) ΠΊΠ°ΠΊ Retrace, - ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ Python.ΠΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ Π½Π°ΠΉΡΠΈ Π²ΡΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΡΠΈΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΡΠΈΡΠΈΠ½Ρ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΡΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ ΡΠΆΠ΅ ΡΠ΅Π³ΠΎΠ΄Π½Ρ!
ΠΠ΅ΡΠ΅Ρ Π²Π°Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π² PythonΠΠ»Ρ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π² Python ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΡΠΌΠ°Ρ Π»ΠΎΠ³ΠΈΠΊΠ°. ΠΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Python ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ. ΠΡΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· Π²ΡΠ·ΡΠ²Π°ΡΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΠΉΠ΄Π΅Ρ ΠΈΠ· ΡΡΡΠΎΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Python ΠΈΠΌΠ΅Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ X, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ Y, ΠΊΠΎΡΠΎΡΠ°Ρ, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ Z.ΠΡΠ»ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π² ΡΡΠ½ΠΊΡΠΈΠΈ Z, Π½ΠΎ Π½Π΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ Π² Z, ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ Y, Π° Π·Π°ΡΠ΅ΠΌ ΠΊ X. ΠΡΠΎΡΡΠΎ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΡΡΠ΅ΠΊΡ Π΄ΠΎΠΌΠΈΠ½ΠΎ.
ΠΠ΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ. Π§ΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΡΠ΅Π½Π°ΡΠΈΡ, Π΅ΡΡΡ Π΄Π²Π° ΠΌΠ΅ΡΠΎΠ΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Python:
- Try - ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΡΠ²Π°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, Π²ΡΠ·Π²Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ
- Raise - ΠΠ°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΡΡΠ½ΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ
ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ try Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ.ΠΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, Π² ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ try. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΊΠΎΠ΄, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠΈΠΉ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, Π² ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ except.
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π²ΡΠ±ΠΈΡΠ°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΡΡΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ. ΠΠ·Π³Π»ΡΠ½ΠΈΡΠ΅ Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° Π½ΠΈΠΆΠ΅:
import sys
list = ['x', 1e-15, 5]
Π΄Π»Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° Π² ΡΠΏΠΈΡΠΊΠ΅:
try:
print (Β«Π Π΅Π·ΡΠ»ΡΡΠ°ΡΒ», ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ )
y = 1 / int (ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ)
break
Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ:
print (Β«Π£Ρ!Β», Sys.exc_info () [0], Β«ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎΒ».)
print (Β«Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ Π²Π²ΠΎΠ΄, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°.Β»)
print ()
print (Β«ΠΡΠ²Π΅ΡΒ», ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, Β«Π΅ΡΡΡΒ», y)
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ°ΡΡΠΈΠ² ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ list Ρ ΡΡΠ΅ΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ. ΠΠ°ΡΠ΅ΠΌ ΡΡΡΠΎΠΊΠ°, Π²ΡΠ·ΡΠ²Π°ΡΡΠ°Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² Π±Π»ΠΎΠΊ try. ΠΡΠ»ΠΈ Π½Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, Π±Π»ΠΎΠΊ except Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΏΡΡΠ΅Π½, ΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠΎΡΠΎΠΊ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡΡΡ Π΄ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, Π±Π»ΠΎΠΊ except ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠΈΡ Π΅Π³ΠΎ.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ x
Π£Ρ!
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ Π²Π²ΠΎΠ΄, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ: 1e-15
Π£Ρ!
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ Π²Π²ΠΎΠ΄, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ: 5
ΠΡΠ²Π΅Ρ Π½Π° 5: 0,2
Π§ΡΠΎΠ±Ρ Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΠΈΠΌΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ exc_info () Π²Π½ΡΡΡΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ sys. ΠΠ΅ΡΠ²ΡΠ΅ Π΄Π²Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π½Π΅Π»ΡΠ·Ρ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π½Π° ΡΡΡΠΎΠΊΡ ΠΈ Π½ΡΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ValueError ΠΈ ZeroDivisionError .
ΠΠ΅ΡΠ΅Ρ Π²Π°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π² PythonΠ§ΡΠΎ Π΄Π΅Π»Π°ΡΡ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΠΌΠ΅ΡΡ Π΄Π΅Π»ΠΎ Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ? Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½Π΅ Π±ΡΠ»ΠΎ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ ΠΎ ΠΊΠ°ΠΊΠΎΠΌ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ Π² Π±Π»ΠΎΠΊΠ΅ except. ΠΡΠΎ Π½Π΅ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½Π° ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠΈΡ Π²ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π²ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠΌ. ΠΠΎΡΡΠΎΠΌΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π±Π»ΠΎΠΊ except ΠΈ ΡΠΊΠ°ΠΆΠΈΡΠ΅, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΡΠ²Π°ΡΡ.
Π§ΡΠΎΠ±Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΡΡΠ΅ΠΆ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ.ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠ΅Π²Π΄ΠΎΠΊΠΎΠ΄Π°:
try:
# do something
# your statement
pass
except Exception_1:
#handle Exception_1 ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π±Π»ΠΎΠΊΠ°
pass
except Exception_2:
ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ Exception_2 ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π±Π»ΠΎΠΊΠ°ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ
Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Exception_3:
# ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅_3 ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π±Π»ΠΎΠΊΠ°
ΠΏΡΠΎΠΉΡΠΈ
Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ:
# ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π²ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
ΠΏΡΠΎΠΉΡΠΈ
Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊ ΠΊΠΎΠ΄Π° Try Stackify, ΠΡΠ΅ΡΠΈΠΊΡ, ΡΡΠΎΠ±Ρ ΠΏΠΈΡΠ°ΡΡ Π»ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ Π½Π° Π²Π°ΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΡΠ°Π½ΡΠΈΠΈ.ΠΡΠ΅ΡΠΈΠΊΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ .NET, Java, PHP, Node.js, Ruby ΠΈ Python.
ΠΡΠ·ΠΎΠ² ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π² PythonΠΡΡΠ³ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠΈΡΡ Π²ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Python, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, - ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ raise. ΠΡΠΎ ΡΡΡΠ½ΠΎΠΉ ΠΏΡΠΎΡΠ΅ΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΡΠ½ΠΈΡΡ ΠΏΡΠΈΡΠΈΠ½Ρ Π΅Π³ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ.
>>> ΠΏΠΎΠ΄Π½ΡΡΡ IndexError
Traceback (ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²ΡΠ·ΠΎΠ² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ):
Π€Π°ΠΉΠ» Β«
IndexError
>>> raise OverflowError (Β«ΠΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π²Π΅Π»ΠΈΠΊΠ°. β)
Traceback (ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²ΡΠ·ΠΎΠ² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ):
Π€Π°ΠΉΠ»Β«
OverflowError: Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π²Π΅Π»ΠΈΠΊΠ°
ΠΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠΎΠ΄, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ Raise :
try:
x = int (input (Β«ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ:Β»))
if x <= 0:
ΠΏΠΎΠ΄Π½ΡΡΡ ValueError (Β«ΠΡΠΎ Π½Π΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ!Β»)
Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ValueError ΠΊΠ°ΠΊ val_e:
print (val_e)
ΠΡΠ²ΠΎΠ΄:
ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ: -6
ΠΡΠΎ Π½Π΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ!
ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ: 6
Python try Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ elseΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡΠΌΠΈ Π±ΡΠ²Π°ΡΡ ΡΠ»ΡΡΠ°ΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π²Π½ΡΡΡΠΈ try Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΡΡ Π±Π΅Π· ΠΎΡΠΈΠ±ΠΎΠΊ.Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ else Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ try.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
try:
number = int (input (Β«ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠΈΡΠ»ΠΎ:Β»))
assert number% 2 == 0
Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ:
print (Β«ΠΡΠΎ Π½Π΅ΡΠ΅ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ! Β»)
else:
print (Β« ΠΡΠΎ ΡΠ΅ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ! Β»)
rem = number% 2
print (Β« ΠΡΡΠ°ΡΠΎΠΊ Β», rem)
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠΈΡΠ»ΠΎ : 3
ΠΡΠΎ Π½Π΅ΡΠ΅ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ!
ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠΈΡΠ»ΠΎ: 2
ΠΡΠΎ ΡΠ΅ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ!
ΠΡΡΠ°ΡΠΎΠΊ ΡΠ°Π²Π΅Π½ 0
Python tryΠΠΏΠ΅ΡΠ°ΡΠΎΡ try Π² Python ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π±Π»ΠΎΠΊ finally.ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΎΠ½ Π½Π΅ΠΏΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π±Π»ΠΎΠΊ. Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΠΎΠ½ Π²ΡΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΡ.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌ ΡΠ΅Π½ΡΡΠΎΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΠ΅Π· ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠ΅ΡΡ. ΠΡΠ΅ ΡΠ΅ΡΡΡΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠΈΡΡΡΠΌΠΈ ΠΏΠΎΡΠ»Π΅ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΎΠ½Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈΠ»ΠΈ Π½Π΅Ρ.
ΠΡΠΎ ΡΠ°Π±ΠΎΡΠ° Π±Π»ΠΎΠΊΠ° finally, ΡΡΠΎΠ±Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. Π ΡΠ°ΠΊΠΈΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠΌ ΠΎΡΠ½ΠΎΡΡΡΡΡ Π·Π°ΠΊΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΈ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡ ΡΠ΅ΡΠΈ.
ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ Π½ΠΈΠΆΠ΅, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ:
try:
file = open (Β«myFile.txt β, encoding = 'utf-8')
# ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ
finally:
f.close ()
Π€ΡΠ½ΠΊΡΠΈΡ f.close () Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ ΡΠ°ΠΉΠ» Π±ΡΠ΄Π΅Ρ Π·Π°ΠΊΡΡΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ APMΠΡΠΈΠ±ΠΊΠΈ ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΡΡΡΡ ΠΏΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°. ΠΠ°ΠΊ Π±ΡΠ»ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ Π²ΡΡΠ΅, ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π±ΡΠ²Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅. ΠΡΠ°ΠΊ, ΠΏΠΎΡΠ΅ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Python Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π½Π°ΡΡ , ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΡΠ²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Python ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ?
ΠΡΠ²Π΅ΡΡ Π½Π° ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ.ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΠΈΠΌΠ΅Π΅ΡΠ΅ Π΄Π΅Π»ΠΎ Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΡΠΌ ΠΎΠ±ΡΠ΅ΠΌΠΎΠΌ Π΄Π°Π½Π½ΡΡ . ΠΡΠ°ΠΊ, Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΈΡΠ°Π΅Ρ ΡΡΡΡΡΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°Ρ . ΠΠ΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π°, ΡΡΠΎΠ±Ρ Π²Ρ Π½Π΅ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΠΈΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ Π·Π΄Π΅ΡΡ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΈΠ»ΠΈ ΠΎΡΡΡΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠΈΠΏ ΡΠ°ΠΉΠ»Π°, Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ ΡΠΎΡΠΌΠ°Ρ ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΡΠ°Π±ΠΎΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ².
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠ³ Π±Ρ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΠΈΡΡ ΡΡΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠΉ.ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°Π·ΡΠ΅ΡΠΈΡΠ΅ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ ΡΠΎΡΠΌΠ°Ρ, ΡΠ½Π°ΡΠ°Π»Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ² ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΡΠΈΡΠ°Π² ΡΠ°ΠΉΠ».
ΠΡΡΠ³ΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ - ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ ΡΠ°ΠΉΠ»Ρ Ρ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΌ ΡΠΎΡΠΌΠ°ΡΠΎΠΌ. ΠΠ°ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ°ΠΉΠ» ΠΆΡΡΠ½Π°Π»Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎΠ·ΠΆΠ΅. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΆΡΡΠ½Π°Π»ΠΎΠ², APM, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Retrace, ΡΠ²Π»ΡΡΡΡΡ ΠΎΡΠ»ΠΈΡΠ½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΆΡΡΠ½Π°Π»Π°ΠΌΠΈ . Π Π½Π΅ΠΌ Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΆΡΡΠ½Π°Π»ΠΎΠ² ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ Π²Π°ΠΌ Ρ Π²Π°ΡΠΈΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ Python.