异常及异常处理

异常
        相较于正常而言不正常的现象就叫做异常,在程序开发过程中遇到错误或者BUG都是
        补充正常情况(错误并不是异常,异常并不等价与错误,异常指的是软件在运行过程中,因为一些原因(使用者使用不当)引起的程序错误,导致软件崩溃的现象叫做异常)

        异常发生后果:导致程序崩溃

处理异常
        包容出现不正常的错误,保证程序正常的运行
        处理方式:try : - except:语句块        异常捕获
    
         代码出现异常:并不影响后面代码的执行,需要继续执行下面的代码
        格式:
        try:
                #  可能发生异常的代码
        except:
               #  处理异常

自定义异常:
        finally关键字:必须执行的代码(释放资源、io)

        如果在函数中,如果return后存在finally关键字,那么代码并不会
        直接返回(执行return),而是执行finally代码块,再执行返回(return),所有finally会在return之前执行

常见异常:
        import builtins
        dir(builtins)
    异常继承关系:
        BaseException()所有异常的父类

        Exception() (BaseException()的子类)是常见异常的父类


'ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'BlockingIOError', 'BrokenPipeError', 'Buffer
Error', 'BytesWarning', 'ChildProcessError', 'ConnectionAbortedError', 'ConnectionError', 'ConnectionRefusedError', 'C
onnectionResetError', 'DeprecationWarning', 'EOFError', 'Ellipsis', 'EnvironmentError', 'Exception', 'False', 'FileExi
stsError', 'FileNotFoundError', 'FloatingPointError', 'FutureWarning', 'GeneratorExit', 'IOError', 'ImportError', 'Imp
ortWarning', 'IndentationError', 'IndexError', 'InterruptedError', 'IsADirectoryError', 'KeyError', 'KeyboardInterrupt
', 'LookupError', 'MemoryError', 'ModuleNotFoundError', 'NameError', 'None', 'NotADirectoryError', 'NotImplemented', '
NotImplementedError', 'OSError', 'OverflowError', 'PendingDeprecationWarning', 'PermissionError', 'ProcessLookupError'
, 'RecursionError', 'ReferenceError', 'ResourceWarning', 'RuntimeError', 'RuntimeWarning', 'StopAsyncIteration', 'Stop
Iteration', 'SyntaxError', 'SyntaxWarning', 'SystemError', 'SystemExit', 'TabError', 'TimeoutError', 'True', 'TypeErro
r', 'UnboundLocalError', 'UnicodeDecodeError', 'UnicodeEncodeError', 'UnicodeError', 'UnicodeTranslateError', 'Unicode
Warning', 'UserWarning', 'ValueError', 'Warning', 'WindowsError', 'ZeroDivisionError', '__build_class__', '__debug__',
 '__doc__', '__import__', '__loader__', '__name__', '__package__', '__spec__', 'abs', 'all', 'any', 'ascii', 'bin', 'b
ool', 'breakpoint', 'bytearray', 'bytes', 'callable', 'chr', 'classmethod', 'compile', 'complex', 'copyright', 'credit
s', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'exec', 'exit', 'filter', 'float', 'format', 'frozenset',
 'getattr', 'globals', 'hasattr', 'hash', 'help', 'hex', 'id', 'input', 'int', 'isinstance', 'issubclass', 'iter', 'le
n', 'license', 'list', 'locals', 'map', 'max', 'memoryview', 'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'pr
int', 'property', 'quit', 'range', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod', '
str', 'sum', 'super', 'tuple', 'type', 'vars', 'zip'
 

上一篇:TASK 2 数协作业


下一篇:异常