python 对于程序异常的处理

1.try…except…:处理异常

try:
    print(1 / 0)
except FileNotFoundError:
    print("出错了")
finally: # 无论程序执行的结果怎么样,都会执行这一步,运用在处理数据库时,及时退出数据库
    print("程序执行结束")

对于无法预料的错误,还是会出现报错信息。

程序执行结束
Traceback (most recent call last):
  File "C:/Users/DELL/PycharmProjects/pythonProject1/c/test1.py", line 353, in <module>
    print(1 / 0)
ZeroDivisionError: division by zero

此时,可以采用Exception,对于各种报错信息都能执行该语句。

try:
    print(1 / 0)
except Exception: #万能的错误接收
    print("出错了")
finally: # 无论程序执行的结果怎么样,都会执行这一步,运用在处理数据库时,及时退出数据库
    print("程序执行结束")

可以正确输出

出错了
程序执行结束

2.raise:抛出异常

def func(a, b):
    if type(a) == int and type(b) == int:
        return a + b
    else:
        raise Exception("你没有正确的输入")
print(func('a', 2))

对于不正确的输入,直接报错。

  File "C:/Users/DELL/PycharmProjects/pythonProject1/c/test1.py", line 364, in <module>
    print(func('a', 2))
  File "C:/Users/DELL/PycharmProjects/pythonProject1/c/test1.py", line 363, in func
    raise Exception("你没有正确的输入")
Exception: 你没有正确的输入

两种方法应该灵活运用。

你可能感兴趣的:(python学习,python)