「Python入门」异常处理

互联网 2022/1/15 1:04:03

异常处理的基础概念 异常处理:对有可能发生的异常的预处理方案。 代码格式: try:可能发生异常的代码块 except 异常类型:异常处理的代码块捕获指定类型的异常 下面这种写法只能捕获except语句后面指定的异常类型:如果发生其他类型的异常,是无法捕获的,程序依然会崩溃…

异常处理的基础概念

异常处理:对有可能发生的异常的预处理方案。

代码格式:

try:
    可能发生异常的代码块
except 异常类型:
    异常处理的代码块

捕获指定类型的异常

下面这种写法只能捕获except语句后面指定的异常类型:

如果发生其他类型的异常,是无法捕获的,程序依然会崩溃(和没有捕获异常一样):

捕获多种类型的异常

把要捕获的多种异常都写在except关键字后面:

捕获所有类型的异常

直接捕获所有类型的异常:

捕获异常并打印出异常的原因

else和finally

  • else:后面的内容只在没发生异常时执行;
  • finally:后面的内容不管有无异常都会执行(只要程序不崩溃)。

异常的传递

用户自定义的异常

异常对象必须有一个名字,且它们应是ErrorException类的子类。

异常处理中抛出异常

class Test(object):
    def __init__(self, switch):
        self.switch = switch #开关

    def calc(self, a, b):
        try:
            return a/b
        except Exception as result:
            if self.switch:
                print("捕获开启,已经捕获到了异常,信息如下:")
                print(result)
            else:
                # 重新抛出这个异常,此时就不会被这个异常处理给捕获到,从而触发默认的异常处理
                raise


a = Test(True)
a.calc(11,0)

print("----------------------华丽的分割线----------------")

a.switch = False
a.calc(11,0)

运行结果:

随时随地学软件编程-关注百度小程序和微信小程序
关于找一找教程网

本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。
本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。
[「Python入门」异常处理]http://www.zyiz.net/tech/detail-285288.html

赞(0)
关注微信小程序
程序员编程王-随时随地学编程

扫描二维码或查找【程序员编程王】

可以随时随地学编程啦!

技术文章导航 更多>
扫一扫关注最新编程教程