Python 第九节 第六课

[toc]

return 语句和常见异常处理问题

由于 return 有两种作用: 结束方法运行和返回值. 我们一般不把 return 放到异常处理结构中, 而是放到方法最后.

Python 第九节 第六课

执行结果:

Python 第九节 第六课

常见异常的解决

    Python 中的异常都派生自 BaseException 类, 本节我们测试和列出常见的一些异常, 方便大家掌握.

1. SyntaxError: 语法错误

int a = 3

Python 第九节 第六课

2. NameError: 尝试访问一个没有声明的变量

print(b)

Python 第九节 第六课

3. ZeroDivisionError: 除数为 0 错误 ( 零除错误 )

c = 3/0

Python 第九节 第六课

4. ValueError: 数值错误

float("我是小白")

Python 第九节 第六课

5. TypeError: 类型错误

123 + "abc"

Python 第九节 第六课

6. AttributeError: 访问对象的不存在的属性

d =10

d.sayhi()

Python 第九节 第六课

 7. IndexError: 索引越界异常

e = [4,5,6]

e[10]

Python 第九节 第六课

8. KeyError: 字典的关键字不存在

a = {"name":"我是小白","age":"18"}

a["salary"]

Python 第九节 第六课

常见异常汇总

建议大家通读, 把异常相关的单词背下来熟悉一下. 这样可以避免 "畏难情绪".

异常名称                                说明

ArithmeticError                      所有数值计算错误的基类

AssertionError                       断言语句失败

AttributionError                      对象没有这个属性

BaseExeception                    所有异常的基类

DeprecationWarning              关于被弃用的特征的警告

EnvironmentError                   操作系统错误的基类

EOFError                                没有内建输入, 到达 EOF 标记

Exception                               常规错误的基类

FloatingPointError                   浮点计算器

FutureWarning                        关于构造将来语义会有改变的警告

GeneratorExit                         生成器 ( generator ) 发生异常来通知退出

ImportError                              导入模块/对象失败