python进阶:异常处理只用来跳过错误?

在我的工作中,程序一般用来处理大量的数据,异常处理一般是为了防止错误的数据导致程序崩溃,所以格式一般是下面这种。确实有用,但也确实很傻。

下面代码主要起一个出错跳过的作用:

try:
	可能出现问题代码
except:
	pass
else:
	不出现异常后的处理代码
finally:
	不出现和出现异常都会执行的代码

1.基本语法

包含在try中的代码如果抛出错误,将执行except内代码,如果没有出现错误,则执行else内代码。最后,统一执行finally内的代码。

2.except设置捕获异常类型

例如下面处理

try: 
    1 / 0
except ZeroDivisionError: 
    print('Divided by zero')
	

当然,也可以在except后设置多个异常类型,如下形式:
except ( except ValueError,ZeroDivisionError)

3.使用raise 抛出异常

raise NotImplementedError('该功能暂未实现')
# 通过raise抛出异常,可以起到提示作用

4.自定义异常类型

当标准的exception不能满足你的需求时,你可以选择自定义exception类型。

class LunchError(Exception):
    pass

raise LunchError("程序启动报错")

5.怎么更好的使用异常处理

  1. 确保except,finally,else代码不会产生报错。
  2. 尽量不要让异常处理作为程序逻辑控制的一部分,少在控制逻辑中使用异常处理,如果非要使用也要在except 后面设置期望捕获的错误。
  3. 用异常捕获来提高程序的健壮性,除此外尽量少用。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值