python异常处理

异常处理的目的:

# 1、不希望遇到异常就退出
# 2、 如果遇到异常希望做特殊处理,而不是直接退出程序

 常见的异常

NameError

 缩进的语法错误 IndentationError

 IndexError

 SyntaxError 语法错误

KeyError  键值错误 

 AttributeError

 ValueError

 AssertionError 断言异常

 try  except 语句

except 可以有多个

# Exception  是很多异常类的基类
# 如果父类异常捕获放在最前面,就会吞噬后面所有的子类异常捕获
# 如果捕获的错误异常与触发的错误异常不一致,程序就捕获不到,然后抛出异常
try:
    print("start...")
    #实际不存在这个文件,如果存在则会执行这一步,不存在则会执行except
    fp = open("test.txt")
    print("end....")
except:
    print("no such file ")
try:
    print("start...")
    int("abc")
    a = 100 / 0
    # 内建异常
except ValueError as e:
    print(e)
except ZeroDivisionError:
    print("除数为0")
except Exception:
    print("this is exception")
print("prcoess end ....")

else结构  --没有任何异常发生的时候执行   finally 结构--不管有没有异常,不管异常有没有被捕获,都执行

try:
    print("else test...")
    int("abc")
except ValueError:
    print("value error")
else:
    print("else test end...")

 

try:
    print("finally test...")
    int("abc")
    # 1/0
except ValueError:
    print("value error")
# 无论什么情况也要执行
finally:
    print("finally end...")

 

 手动抛出异常

# 手动抛出异常
# raise 关键字
# raise
# raise 异常类
# raise 异常类(说明信息)

 

raise IndexError
raise IndexError("超出范围")
print("end raise..")

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值