Python错误处理操作示例

yipeiwu_com6年前Python基础

本文实例讲述了Python错误处理操作。分享给大家供大家参考,具体如下:

同java一样,在python中也有try...except...finaly的错误处理机制

try:
 print('try...')
 r=5/0
 print('result:',r)
except ZeroDivisionError as e:
 print('except',e)
finally:
 print('finally....')
print('end')

比如上面这串代码,因为被除数不能为0所以在try中会出现错误,而出现错误之后,result是不会打印出来的,而是直接跳转到except中并打印出错误信息,执行完except之后,如果有finally语句,就一定会执行完,所以无论有没有finally都会执行。

结果为:

try...
except: division by zero
finally...
END

这里出现的错误是ZeroDivisionError错误,python中还有很多的错误,比如ValueError错误,所以,在这个错误机制中我们可以设置多个except语句来捕捉不同的错误,比如,

try:
 print('try...')
 r = 10 / int('a')
 print('result:', r)
except ValueError as e:
 print('ValueError:', e)
except ZeroDivisionError as e:
 print('ZeroDivisionError:', e)
finally:
 print('finally...')
print('END')

因为多了一个int()函数,所有有可能出现值错误,接着,你也可以在except后面加一个else函数来打印无错误来提醒自己。

可以看出,其实和java一样,错误都是继承类,他们的父类都为BaseException,所以,如果写了多个except语句但是里面包含父子类,那么只会被父类给捕获:

Python错误处理还可参考:https://docs.python.org/3/library/exceptions.html

更多Python相关内容感兴趣的读者可查看本站专题:《Python入门与进阶经典教程》、《Python字符串操作技巧汇总》、《Python列表(list)操作技巧总结》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

python中print()函数的“,”与java中System.out.print()函数中的“+”功能详解

python中的print()函数和java中的System.out.print()函数都有着打印字符串的功能。 python中: print("hello,world!") 输出...

python实现栅栏加解密 支持密钥加密

python实现栅栏加解密 支持密钥加密

栅栏加解密是对较短字符串的一种处理方式,给定行数Row,根据字符串长度计算出列数Column,构成一个方阵。 加密过程:就是按列依次从上到下对明文进行排列,然后按照密钥对各行进行打乱,最...

如何使用Flask-Migrate拓展数据库表结构

前言 在我们用 sqlchemy 模块创建完几个表时,如果在实际生产环境中,需要对表结构进行更改,应该怎么办呢?总不能把表删除了吧,这样数据就会丢失了。 更好的解决办法是使用数据库迁移框...

Python 类与元类的深度挖掘 II【经验】

  上一篇解决了通过调用类对象生成实例对象过程中可能遇到的命名空间相关的一些问题,这次我们向上回溯一层,看看类对象本身是如何产生的。   我们知道 type() 方法可以查看一个对象的类...

对Pytorch中Tensor的各种池化操作解析

AdaptiveAvgPool1d(N) 对一个C*H*W的三维输入Tensor, 池化输出为C*H*N, 即按照H轴逐行对W轴平均池化 >>> a = torch...