Day 03 异常处理

今天没有思维导图,直接开始吧~
异常就是运行期检测到的错误,异常处理就是对出现的异常进行检验和处理。在此之前,先了解下基类和派生类。

一、基类和派生类

基类,也是父类,是相对于派生类(子类)而言的。子类可以继承父类的所有属性和方法,而同时,子类也可有自己的独特的属性或方法。举个例子:

class breakfastdef eat(self):
		print('You can eat everything you want to eat!')
class lunch(self):
	def eat(self):
		print('You can eat everything you want to eat!')
class supper(self):
	def eat(self):
		print('You can eat everything you want to eat!')


breakfast.eat() # You can eat everything you want to eat!
lunch.eat() # You can eat everything you want to eat!
supper.eat() # You can eat everything you want to eat!

上面的几个函数的代码块都是重复的,这种情况下,我们要多打好多代码,重复工作太多,但如果用继承的方法就可以变成下面这样子:

class breakfastdef eat(self):
		print('You can eat everything you want to eat!')
class lunch(breakfast):
	pass
class supper(breakfast):
	def no_desire():
		print('Are you dieting?')


breakfast.eat() # You can eat everything you want to eat!
lunch.eat() # You can eat everything you want to eat!
supper.eat() # You can eat everything you want to eat!
supper.no_desire() # Are you dieting?

这样一来,代码就变得清爽很多。其中,类 breakfast 相比下面的两个来说就是父类,lunch、supper就是子类。两个子类继承了父类的所有方法,并且类 supper 相比于 类 breakfast还多了一个方法。

二、异常

在异常中也有子类与父类的关系,Python所有的错误都是从BaseException类派生的,但是子类无法截取父类的错误类型。
下面链接里是所有异常类型及他们的继承关系:
通过BaseException看Python常见的错误类型和继承关系

三、异常处理

3.1 try 语句

try 语句是用于检测某些代码是否存在异常,当代码存在错误时,终端会报错,并显示错误类型。

3.2 try-except 语句

# 形式
try:
    检测范围
except Exception[as reason]:
    出现异常后的处理代码

1.程序会先执行try 后的语句。若无异常,那执行完就完了。但是如果有异常,且正好是except 所定义的异常,那么会执行except 后的代码。而若是except 以外的异常,程序会报错。
2.except 语句可以不止一个。except 后可不带任何 exception,也可以带多种异常类型

3.3 try-except-else 语句

# 形式
try:
    检测范围
except Exception[as reason]:
    出现异常后的处理代码
else:
	若不出现错误,这部分的代码将被运行

3.4 try-finally 语句

# 形式
try:
    检测范围
except Exception[as reason]:
    出现异常后的处理代码
else:
	若不出现错误,这部分的代码将被运行
finally:
	无论如何,这块代码一定会被执行

finally 不是必须的,而且上面的try 到 finally之间的所有也不是必须的。看情况添加和选择需要的语句。

3.5 raise 语句

raise 语句使用于抛出异常的。

# 形式
raise [exceptionName [(reason)]]

具体的内容和使用方法可以参考一下的连接:
Python raise用法(超级详细,看了无师自通)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值