Python的错误和异常处理

try-except 捕获异常

try:
    do some thing
except NameError, e: //若不写NameError表示获取所有异常
    print e

猜数字小游戏并使用try except 捕获异常

import random

num = random.randint(0,100)

while True:
    try:
        guess = int(raw_input("Enter 1~100"))
    except ValueError, e:
        print "Enter 1~100"
        continue
    if guess > num:
        print "bigger",guess
    elif guess < num:
        print "small",guess
    else:
        print 'good'
        break

try except 捕获多个错误

try:
    do some thing
except NameError, e: 
    print e
except VauleError, e:
    print e

try except else
有异常就执行except
没有异常就执行else

try:
    do some thing
except NameError, e: 
    print e
else:
    print e

try finally

如果没有捕获到错误,执行finally
捕获到异常,先执行finally在把错误提交给python解释器
无论是否有异常都会执行finally语句

try except finally
捕获到错误,先处理异常,执行finally


with 语句


raise 和assert

raise [exception[,args]]
exception :异常类
args:描述异常信息的元组

raise IOError , "file wrong"

assert expression [,args]

exoression 表达式,为假时引发异常

assert 7==6,'wrong'

标准异常和自定义异常

  • 自定义异常必须继承自标准异常
  • 自定义异常只能自己触发
//自定义异常继承自IOError
class FileError(IOError):
    pass
raise FileError,'file error '
assert FileError,"file error" //触发异常
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值