十、异常处理&datetime模块

异常处理

python 用 异常对象(exception object)来表示异常情况。异常对象可以被处理、捕获,避免程序终止执行。
在编程过程中为了增加友好性,在程序出现Bug时一般不会直接将错误信息展示给用户,而是提供一个友好的输出提示。

基本形式

try:
    正常的操作
   ......................
except:
    发生异常,执行这块代码
   ......................
else:
    如果没有异常执行这块代码
finally:
    不管如何,最后一定要执行的代码

常见的异常类型

  • 示例程序1:
Exception   所有异常的基类

AttributeError  特征引用或者赋值失败时引发的

IOError 试图打在不存在的文件(包括其他情况)

IndexError  使用序列中不存在的索引

KeyError    使用映射中不存在的键

NameError   找不到名字(变量)

SyntaxError 在代码为错误形式时引发

SystemExit  系统异常退出

TypeError   在内建操作或者函数应用与错误类型的对象时

ValueError  正确的类型对象,但是对象使用不合适的值

ZeroDivisionError   除法,第二参数为0

处理异常方法

#!/usr/bin/python
# -*- coding:utf-8 -*-
try:
    msg = input(">>")
    int(msg)
except Exception as e:
    print("异常的类型是:%s"%type(e))
    print("异常对象的内容是:%s"%e)

运行结果:

>>python
异常的类型是:<class 'ValueError'>
异常对象的内容是:invalid literal for int() with base 10: 'python'

Process finished with exit code 0
  • 示例程序2:
#!/usr/bin/python
# -*- coding:utf-8 -*-


try:
    1 + "python"
except Exception as e:
    print("异常的类型是:%s"%type(e))
    print("异常对象的内容是:%s"%e)
运行结果:

异常的类型是:<class 'TypeError'>
异常对象的内容是:unsupported operand type(s) for +: 'int' and 'str'

Process finished with exit code 0

Python3 要求我们的异常必须继承 Exception 类。Built-in 的所有异常也都是继承自这个类。因此,我们只需要捕获这个类的实例,就可以捕获所有的异常。

date模块

datetime模块

猜你喜欢

转载自blog.csdn.net/weixin_39934221/article/details/80053541