信盈达—您身边的嵌入式&人工智能专家
全国免费咨询热线:400-8788-909

干货分享:python自定义异常处理方法

时间:2018-08-07 00:00:00 来源:信盈达 作者:信盈达

1、一般情况下,Python无法正常处理程序时就会发生一个异常。异常是Python对象,表示一个错误。当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。

2、异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。每一个异常都是一些类的实例,这些实例可以被引用,并且可以用很多种方法进行捕捉,使得错误可以被处理,而不是让整个程序失败


自定义异常:

1、python允许程序员自定义异常,用于描述python中没有涉及的异常情况,自定义异常必须继承Exception类,自定义异常按照命名规范以"Error"结尾,显示地告诉程序员这是异常。自定义异常使用raise语句引发,而且只能通过人工方式触发。

2、因为错误就是类捕获一个错误就是捕获该类的一个实例,因此错误并不是凭空产生的,而是由一些不合理的部分导致的。python的内置函数会抛出很多类型的错误,我们自己编写的函数也可以抛出错误。如果要抛出错误,那么可以根据需要定义一个错误的类,选择好继承关系,然后用raise语句抛出一个错误的实例

 

11:

 

class MyError(Exception):

    def __init__(self):

        pass

    def __str__(self):

        return "这是一个自定义的错误类型"

 

def MyErrorTset():

    try:

        raise MyError()

    except MyError as error:             #except MyError:

        print("exception info: ",error)  #print("exception info: ",MyError())

 

MyErrorTset()

#上面代码的输出结果为:exception info:  这是一个自定义的错误类型

#这种写法的结果是:如果多个代码调用这个错误类,得到的错误信息是一样的

11_1:

 

class CustomError(Exception):

    def __init__(self,ErrorInfo):

        super().__init__(self)      #初始化父类

        self.errorinfo = ErrorInfo

    def __str__(self):

        return self.errorinfo

 

if __name__ == '__main__':

    try:

        raise CustomError('客户异常')

    except CustomError as e:

        print(e)
 

#上面代码的输出结果为:客户异常

#这种写法的结果是:在执行具体某个代码的可以再次自定义错误信息(不同代码调用时,得到的错误信息不一样)

想了解更多学习问题?信盈达专业培训python+人工智能。

干货分享:python自定义异常处理方法

信盈达2008年在深圳特区南山高新科技园成立。自成立至今近九年来专注为企业和个人提供高端方案设计、高端嵌入式/Android培训等服务。公司下设信盈达实训学院、信盈达研发中心、信盈达教学仪器三大业务板块。九年来公司坚持"技术领先、服务领先",以雄厚的实力和专业的品质成为国内唯一有实力从产品最底层研发到系统层开发的嵌入式实训、产品解决方案提供商。为中国IT行业提供最具价值的职业教育服务。专业培训i嵌入式、物联网、人工智能Java、单片机等课程,想了解更多信息点击立马咨询