python异常处理的语法格式_Python里的异常处理(上)

异常意味着出现错误,并且会中断程序的正常控制流。

使用 raise 语句可以引发异常

raise语句的一般格式:

raise Exception([value])

Exception是异常类型,而value是说明异常相关细节的可选值

例如:

raise RuntimeError('Unrecoverable Error')

使用 try…except…语句可以捕获异常

例如:

try:

f=open('test')

except IOError as e:

print '处理I/O错误'

出现异常时,解释器将停止执行try代码块中的语句,并寻找可匹配该异常的except子句。如果找到,控制权就会传递给except子句中的第一条语句。执行完except子句后,控制权就会传递给出现try…except…代码块之后的第一条语句。否则,异常将传递给try语句所在的上一级代码块。

except语句的可选修饰符as var提供了一个变量名称。如果出现异常,就会在其中放置一个提供给raise语句的异常类型的实例。

注意事项:

# 在以前的版本(Python 2.6)使用下面的except语句,不推荐使用

except Exception , e:

pass

# 新的代码使用as var语法:

except Exception as e:

pass

使用多条except子句指定多个异常处理代码块

try:

do something

except IOError as e:

# 处理I/O错误

except TypeError as e:

#处理类型错误

except NameError as e:

#处理名称错误

或者

try:

do something

except (IOError,TypeError,NameError) as e:

# 处理I/O、类型或名称错误

使用pass语句忽略异常,不做任何处理

try:

do something

except IOError:

pass

捕获除与程序退出相关异常之外的所有异常

try:

do something

except Exception as e:

error_log.write("An error occurred : %s\n" %e)

使用except语句不带任何异常类型,将会捕获所有异常

try:

do something

except :

error_log.write("An error occurred \n")

try…except…else 语句

#如果try代码块中的代码没有引发异常,就会执行else子句中的所有代码

try:

f=open('test','r')

except Exception, e:

error_log.write("Unable to open test : %s\n" % e)

else:

data=f.read()

f.close()

try…except…finally 语句

finally子句不用与捕获,无论是否出现错误都会执行

try:

pass

except IOError as e:

raise e

finally:

pass

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值