自学python笔记记录——Day17(单例,捕获异常,异常的传递,抛出异常)

1.单例

··定义:类创建的对象,在系统中只有唯一一个实例

实现步骤:

1.定义一个类属性,初始值是None, 用于记录单例对象的引用
2.重写__new__方法
3.如果类属性is None,调用父类方法分配空间,并在类属性中记录结果
4.返回类属性中记录的对象引用

在这里插入图片描述

例:
在这里插入图片描述

·

注:单例模式中,即便只有一个对象,但是每次创建时还是会调用初始化( __init__ )方法

·
拓展:如何每次创建对象自始至终只执行一次初始化方法?

实现方法:
在这里插入图片描述

2.捕获异常

定义:通俗的说,为了使得程序完整的运行,避免出现一些可以预想到的错误,对可能会出现错误的代码段进行异常捕获。

注:“可能会出现错误的代码段” 不是指代码本身的错误,而是在执行时可能会发生的错误

实现方法:

try:
	可能会出现错误的代码段
except:
	出现的错误处理

·

2.1根据错误类型捕获异常

实现方法:

try:
	# 可能会出现异常的代码段
	
except 错误类型1# 针对出现错误类型1的处理
	
except (错误类型2, 错误类型3):
	# 针对出现错误类型2,3的处理
	
except Exception as 变量名(随意):
	# 针对出现未知错误类型的处理,可通过输出该变量得到错误原因
	print(变量名)
	
else:
	# 没有捕获到异常才会执行的代码
	
finally:
	# 无论是否捕获到异常,都会执行的代码
	

注:当python解释器抛出异常时,最后一行错误提示的第一个单词,就是错误类型

例:
在这里插入图片描述

·

2.2关于捕获异常的传递性

例:
在这里插入图片描述

利用捕获异常的传递性的好处:
不必在每个函数中都加上异常捕获方法,可直接在主程序中进行异常捕获

如:
在这里插入图片描述

·

2.3主动抛出异常

● Python中提供了一个Exception 异常类

●在开发时,如果满足特定业务需求时,需要抛出异常,可以:

1.创建一个Exception的对象
2.使用| raise关键字抛出异常对象

例:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

此时一位小白路过

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值