Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

จะพิมพ์ลำดับชั้นข้อยกเว้น / ข้อผิดพลาดของ Python ได้อย่างไร


เรานำเข้าโมดูลการตรวจสอบและใช้ฟังก์ชัน getclasstree() เพื่อพิมพ์ลำดับชั้นของ python Exception/Error

โค้ดนี้จัดเรียงและพิมพ์รายการคลาสข้อยกเว้นที่กำหนดลงในลำดับชั้นของรายการที่ซ้อนกัน เราวนซ้ำผ่าน __subclasses__() ลงไปตามแผนผังการสืบทอดดังที่แสดงในผลลัพธ์

ตัวอย่าง

import inspect
print "The class hierarchy for built-in exceptions is:"
inspect.getclasstree(inspect.getmro(BaseException))
def classtree(cls, indent=0):
print '.' * indent, cls.__name__
for subcls in cls.__subclasses__():
classtree(subcls, indent + 3)
classtree(BaseException)

ผลลัพธ์

ในการรันโค้ด เราได้ผลลัพธ์ดังต่อไปนี้

The class hierarchy for built-in exceptions is:
BaseException
... Exception
...... StandardError
......... TypeError
......... ImportError
............ ZipImportError
......... EnvironmentError
............ IOError
............ OSError
............... WindowsError
......... EOFError
......... RuntimeError
............ NotImplementedError
......... NameError
............ UnboundLocalError
......... AttributeError
......... SyntaxError
............ IndentationError
............... TabError
......... LookupError
............ IndexError
............ KeyError
............ CodecRegistryError
......... ValueError
............ UnicodeError
............... UnicodeEncodeError
............... UnicodeDecodeError
............... UnicodeTranslateError
......... AssertionError
......... ArithmeticError
............ FloatingPointError
............ OverflowError
............ ZeroDivisionError
......... SystemError
............ CodecRegistryError
......... ReferenceError
......... MemoryError
......... BufferError
...... StopIteration
...... Warning
......... UserWarning
......... DeprecationWarning
......... PendingDeprecationWarning
......... SyntaxWarning
......... RuntimeWarning
......... FutureWarning
......... ImportWarning
......... UnicodeWarning
......... BytesWarning
...... _OptionError
...... error
...... Error
...... TokenError
...... StopTokenizing
...... error
...... EndOfBlock
... GeneratorExit
... SystemExit
... KeyboardInterrupt