Python----异常处理.

异常处理:顾名思义报错处理方法,目的是虽然程序出错,但此错不想让用户看到。

一次可以对单个异常处理,也可以多个一起处理,或可以捕捉所有所有异常,异或自定义异常。

常见异常类型:

AttributeError  属性异常   IOError 输入/输出异常  ImportError 导入错误  IndentationError 缩进异常 

IndexError  下标索引超出序列边界  KeyError 访问字典中不存在的键  KeyboardInterrupt Crtl+C被按下

NameError 使用一个还未被赋予对象的变量    SyntaxError Python  语法错误    TypeError 类型错误

unboundLocalError

ValueError  数值用法异常  

用法:

1.抓取一个错误

#KeyError and IndexError
book={}
names=['xiaohua','xiaoming']
try:
    book['bookname1']  # 抓单独错误
    names[2]
except Exception as e:    #抓住所有错误,但不能定位,一般放在最后
    print("出错了",e)
try:
    #book['bookname1']   #抓单独错误
    names[2]
except KeyError as e:      #KeyError为字典错误
    print("没有这个key",e)
except IndexError as e:      #IndexError为列表错误
    print("列表操作错误",e)

#ValueError
a="Sun Dapeng"
try:
    int(a)
except ValueError as e:
    print(e)

2.合并错误类型写法

#合并错误类型
book={}
names=['xiaohua','xiaoming']
try:
    book['bookname1']
    names[2]
except (KeyError,IndexError) as e:   #按顺序抓取要求错误,抓到错误截止
    print(e)

3.抓取所有错误

#抓取所有错误
try:
    open("abc.txt")
except Exception as e:    #抓住所有错误,但不能定位,一般放在最后
    print("出错了",e)
else:
    print("一切正常")
finally:
    print("不管有没有错都执行")

4.自定义异常

自定义异常
class XiaoError(Exception):
     def __init__(self,msg):    #异常报错的内容
         self.message=msg
try:
    raise XiaoError ('Pycharm无法启动')     #触发错误
except XiaoError as e:   #抓住异常,e(Pycharm无法启动) 
    print(e)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值