πŸ” Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ имя ошибки Python: простой способ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… 🐍

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ имя ошибки Π² Python, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ str() для прСобразования ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ошибки Π² строку. Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ имя Ρ‚ΠΈΠΏΠ° ошибки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° __class__.__name__.

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ имя ошибки Python

ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° Python, Π²Π°ΠΌ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ситуации, ΠΊΠΎΠ³Π΄Π° ваш ΠΊΠΎΠ΄ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ имя ошибки Python, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΈ ΠΈΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим нСсколько способов ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ имя ошибки Python.

ΠœΠ΅Ρ‚ΠΎΠ΄ type

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ способ - ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ type, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ имя ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² Python. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:


try:
	# Π’Π°Ρˆ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅
except Exception as e:
	error_name = type(e).__name__
	print('Имя ошибки:', error_name)
	

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ try-except для ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. Π’ Π±Π»ΠΎΠΊΠ΅ except ΠΌΡ‹ сохраняСм ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ e. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ type для получСния Ρ‚ΠΈΠΏΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ __name__ для получСния Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ. Имя ошибки выводится Π½Π° экран.

ΠœΠ΅Ρ‚ΠΎΠ΄ sys.exc_info

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ способ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ имя ошибки Python - ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ sys.exc_info. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:


import sys

try:
	# Π’Π°Ρˆ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅
except:
	exc_type, exc_value, exc_traceback = sys.exc_info()
	error_name = exc_type.__name__
	print('Имя ошибки:', error_name)
	

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ sys.exc_info, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ сохраняСм Ρ‚ΠΈΠΏ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ exc_type, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ __name__ для получСния Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ. Имя ошибки Ρ‚Π°ΠΊΠΆΠ΅ выводится Π½Π° экран.

ΠœΠ΅Ρ‚ΠΎΠ΄ traceback

Π’Ρ€Π΅Ρ‚ΠΈΠΉ способ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ имя ошибки Python - ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ traceback. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:


import traceback

try:
	# Π’Π°Ρˆ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅
except:
	exc_traceback = traceback.format_exc()
	print(exc_traceback)
	

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ traceback ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ format_exc для получСния трассировки стСка Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Π°Ρ трассировка пСчатаСтся Π½Π° экранС, Ρ‡Ρ‚ΠΎ позволяСт Π»Π΅Π³ΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ имя ошибки.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’Ρ‹ΡƒΡ‡ΠΈΡ‚ΡŒ имя ошибки Python - Π²Π°ΠΆΠ½Ρ‹ΠΉ Π½Π°Π²Ρ‹ΠΊ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ быстро Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈ ΠΈΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² ΠΊΠΎΠ΄Π΅. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли нСсколько способов ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ имя ошибки Python, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ type, sys.exc_info ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ traceback.

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

OOP 36 ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ Try Except Finally Python

Π£Ρ€ΠΎΠΊΠΈ Python с нуля / #14 - ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ Β«try - exceptΒ»

Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ это Π² Python | if __name__ == '__main__' (ВсС Ρ„ΠΈΡˆΠΊΠΈ ΠΈ ошибки конструкции)

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸ” Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ список списков Π² Python | ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Ρ… структур Π΄Π°Π½Π½Ρ‹Ρ…

πŸ”Ž Как ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список Π² Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎΠΌ порядкС Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ 🐍

πŸ”’ Как ввСсти ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΡ€Π΅Π½ΡŒ Π² Python: ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ шаги ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° πŸ”’

πŸ” Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ имя ошибки Python: простой способ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… 🐍

⌨️ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ рСгистра Π² Python: Π»ΡƒΡ‡ΡˆΠΈΠ΅ способы

πŸ”ΠšΠ°ΠΊΠΎΠΉ Линукс Π›ΡƒΡ‡ΡˆΠ΅ для ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Python? - ΠŸΠΎΠ΄Π±ΠΈΡ€Π°Π΅ΠΌ Π˜Π΄Π΅Π°Π»ΡŒΠ½ΡƒΡŽ ОБ для Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ!

πŸ”’ Как ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ бСсконСчный Ρ†ΠΈΠΊΠ» while true Π² Python?