资讯专栏INFORMATION COLUMN

Python下异常处理

Kross / 2052人阅读

摘要:程序报错太常见了,我们可以想办法修理好它捕获异常有可能出错的语句出错了没错的时候运行后面指定了报错的异常类,在中重要的内建异常类有常规错误的基类对象没有这个属性输入输出操作失败序列中没有此索引映射中没有这个键未声明初始化对象没有属性语法错误

程序报错?太常见了,我们可以想办法修理好它
捕获异常
number="hello"
try:
    #有可能出错的语句
    number=int(number)
except Exception:
    print("出错了") 
else:
    print("没错的时候运行")   

except后面指定了报错的异常类,在python中重要的内建异常类有:

Exception 常规错误的基类

AttributeError 对象没有这个属性

IOError 输入/输出操作失败

IndexError 序列中没有此索引(index)

KeyError 映射中没有这个键

NameError 未声明/初始化对象 (没有属性)

SyntaxError Python 语法错误

SystemError 一般的解释器系统错误

ValueError 传入无效的参数

...
除了上述列出来的,其实python的异常类还有很多,当在except后面指定异常类之后,那么只有报这个类型异常的时候才会输出“出错了”
当然我们也可以去掉Exception,这样任何异常都可以捕获到
捕获多个异常如何做

#指定多个异常
number="hello"
try:
    #有可能出错的语句
    number=int(number)
except ValueError:
    print("ValueError出错了")   
except Exception:
    print("Exception出错了") 
else:
    print("没错的时候执行的语句")    
finally:
    print("无论发不发生异常,都会执行的语句")
    
#指定多个异常
number=[1,2,3]
try:
    #有可能出错的语句
    number=number[4]
except (ValueError,NameError,IndexError):
    print("出错了")   
else:
    print("没错的时候运行") 
自定义异常类

尽管python给我们提供了很多内置的异常类,但是还是不能满足精确定位的问题,我们可以通过创建一个新的exception类拥有自己的异常,异常应该继承自Exception类,可以直接继承,也可以间接继承

class MyError(Exception):
    def __init__(self):
        pass
    def __str__(self):
        return "this is error"        

def Calc():
    raise MyError()   #通过raise语句抛出一个错误的实例 

Calc()   

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/41175.html

相关文章

  • python基础教程:错误处理异常处理

    摘要:在前面介绍语法的过程中,我们已经接触到了解释器给的错误和异常,但并没有详细讲解它们。解释器这样报出的好处是告诉我们哪一行代码出错了错误的类型是什么。 在前面介绍Python语法的过程中,我们已经接触到了解释器给的错误和异常,但并没有详细讲解它们。现在我们就全面的来学习Python是对语法错误等错误进行定义和处理的,这包括至少有两种可以区分的错误,它们是语法错误和异常。 语法错误 Pyt...

    tinylcy 评论0 收藏0
  • 使用Python进行异常处理

    摘要:为此,我们需要使用不同的异常处理程序定义多个子句。此异常由另一个异常子句处理,但除外。提高并重新提出异常中的关键字用于强制发生异常。如果没有异常处理代码,程序将只打印错误消息并终止。因此,我们将使用子句,在记录错误后重新引发异常。 showImg(https://segmentfault.com/img/remote/1460000019165381?w=329&h=388); 来源...

    sydMobile 评论0 收藏0
  • Python数据分析基础】: 异常值检测和处理

    摘要:红色箭头所指就是异常值。箱型图这种方法是利用箱型图的四分位距对异常值进行检测,也叫。异常值总结以上是对异常值检测和处理方法的汇总。 作者:xiaoyu 微信公众号:Python数据科学 知乎:python数据分析师 showImg(https://segmentfault.com/img/remote/1460000015926587);上一篇分享了关于数据缺失值处理的一些方法,链接...

    banana_pi 评论0 收藏0
  • SICP Python 描述 3.4 异常

    摘要:的最常见的作用是构造异常实例并抛出它。子句组只在执行过程中的异常产生时执行。每个子句指定了需要处理的异常的特定类。将强制转为字符串会得到由返回的人类可读的字符串。 3.4 异常 来源:3.4 Exceptions 译者:飞龙 协议:CC BY-NC-SA 4.0 程序员必须总是留意程序中可能出现的错误。例子数不胜数:一个函数可能不会收到它预期的信息,必需的资源可能会丢失,或者网...

    pkhope 评论0 收藏0
  • 总结:Python中的异常处理

    摘要:尽量使用内置的异常处理语句来替换语句,比如语句,方法。以上是最简单的重新抛出异常的做法,也是推荐的做法。除了包含所有的外还包含了,和三个异常。避免在语句块中干一些没意义的事情,捕获异常也是需要成本的。 异常处理在任何一门编程语言里都是值得关注的一个话题,良好的异常处理可以让你的程序更加健壮,清晰的错误信息更能帮助你快速修复问题。在Python中,和不部分高级语言一样,使用了try/ex...

    douzifly 评论0 收藏0

发表评论

0条评论

Kross

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<