异常

异常

当python检测到一个错误时,解释器就无法继续执行,反而出现一些错误提示,就是异常。

在这里插入图片描述

捕获异常

把可能出现问题的代码,放在try中
把处理异常的代码,放在except中

try:
    放入可能产生异常的代码
except:
    放入产生错误时,处理的方法

except捕获多个异常
当捕获多个异常时,可以把要捕获的异常的名字,放到except后,并使用元祖方式仅进行存储

print('--------------------test--1---')
try:
    print(name)
    print('aaaa')
    open('123.txt', 'r')
    print('bbb')
# 捕获的异常的名字
except (NameError, FileNotFoundError):
    print('变量没有定义')

print('--------------text--2----')

获取异常的信息描述

print('--------------------test--1---')
try:
    open('123.txt', 'r')
    print('bbb')
    # Exception 是所有异常的父类
except Exception as exp:
    print(exp)  # 打印异常信息
    print(type(exp))

print('--------------text--2----')

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yf3hUop2-1573742095950)(en-resource://database/695:1)]

traceback.print_exc() 作用是打印异常信息的原始信息

import traceback
print('--------------------test--1---')
try:
    open('123.txt', 'r')
    print('bbb')
    # Exception 是所有异常的父类
except Exception as exp:
    print(exp)  # 打印异常信息
    traceback.print_exc()  # 作用是打印异常的原始信息

print('--------------text--2----')

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5IaoE7sG-1573742095950)(en-resource://database/697:1)]

else 没有异常运行

else:
    print('没有异常')

finally 有和没有异常都运行

finally:
    print('有和没有异常都运行')
抛出自定义异常

raise

def test1():
    print('-----------test1-----')
    try:
        a = 1 / 0
    except Exception as exp:
        # 捕获异常打印 哈哈哈哈
        print('哈哈哈哈')
        # 抛出异常
        raise exp
    print('------------test-2----')


try:
    test1()
# 捕获抛出异常打印 hehehe
except:
    print('hehehe')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值