前言
在Python中,所有的异常都是类,并且都继承自BaseException。Python的异常处理和Java的异常处理规则比较类似,Java的异常处理规则:try-catch-finally,Python的规则是:try-except-finally;Java中使用throw关键字抛出异常,Python使用raise关键字抛出异常,总体来说,大同小异。
内置异常
- BaseException:所有异常的基类
- Exception: 常规错误的基类,继承自BaseException
- ValueError:值错误异常,继承自Exception
- UnicodeError:Unicode编码异常,继承自ValueError
- TypeError:类型异常,继承自Exception
- IOError:I/O异常,继承自Exception
- ……
自定义异常
自定义异常,一般情况下,我们继承自Exception类。
""" |
捕捉异常
除了关键字之外,规则基本和java一致。else是在没有发生异常时执行,而不是发生了异常但没有except到指定异常时执行。同java捕捉异常规则一样,如果最前面的是except BaseException as e ,那么后面的所有的异常except分支都将会被这个所拦截,而不会继续向下传递。
- try-except-finally
- try-except-else-finally
- try-except-except-else-finally
- try-finally: 执行finally语句,异常继续向上抛出
# 定义累加函数 |