您当前的位置: 首页 >  Python
  • 0浏览

    0关注

    214博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

python(22):一文学会Python中的异常处理...try-except语句

不愿透露姓名の网友 发布时间:2019-08-02 20:16:25 ,浏览量:0

在这里插入图片描述

文章目录
  • 1.错误分类
  • 2.常见的一些异常
  • 3.捕获异常
  • 4.try-except-else-finally结构统讲代码:
  • 5.抛出异常

1.错误分类

Python 有两种错误很容易辨认:语法错误和异常。 语法错误可以通过自己的认真来解决,下面让我们研究异常:即便Python程序的语法是正确的,在运行它的时候,也有可能发生错误。运行期检测到的错误被称为异常。

2.常见的一些异常 错误代码含义NameError名字错误ZeroDivisionError0错误TypeError类型错误SyntaxError语法错误IndexError索引超出序列范围KeyError请求一个不存在的字典关键字IOError输入输出错误AttributeError尝试访问未知的对象属性 3.捕获异常

A.捕获单个异常

#捕捉单个异常,输出自己提示信息
try:
    print(eval(input('请输入数学表达式:')))#输入3/0
except ZeroDivisionError :
    print('被除数不能为0')#被除数不能为0
    
# 捕捉单个异常,输出报错提示信息
try:
    print(1/0)
except ZeroDivisionError as e:
    print(e)

B.捕获多个异常

#捕捉多个异常
#一个try和多个except或者元组结构:一个try和except(异常1,异常2...)

# 形式1
try:
    a=[1,2,3]
    print(a[6])#超出索引
    print(1/0)
except IndexError:
    print('超出索引')
except ZeroDivisionError:
    print('被除数不能为0')
    

# 形式2
try:
    a=[1,2,3]
    print(a[2])
    print(1/0)#结果:有异常啦!
except (IndexError,ZeroDivisionError):
	#弊端:不知道具体是哪个异常
    print('有异常啦!')

C.捕获所有异常

#捕捉所有异常两种格式:
#格式1:try--except
try:
    a=[1,2]
    print(a[9])
except:
    print('有异常')
    

# 格式2:try-except Exception as e:
try:
    a = [1, 2]
    print(a[9])
except Exception as e:#可以知道具体异常
    print(e)
    

# 格式3:try--except Exception:
try:
    a = [1, 2]
    print(a[9])
except Exception :#不知道具体异常
    print('111')

结果: 在这里插入图片描述 出错异常类型和捕捉的异常不一致,会出错结束

4.try-except-else-finally结构统讲代码:
#
#不管try有没有异常,最终都会只需finally的代码
try:
    print('我有错吗?')
except Exception:
    print('只要有异常,就会执行我!')
else:
    print('只有没有异常,才会执行我!')
finally:
    print('不管有没有异常,一定会执行我!')

结果: 在这里插入图片描述

5.抛出异常

A.抛出系统异常

格式描述raise异常类型(‘描述信息’)当程序执行到raise时候,会自动的触发异常,让程序结束
#---------当程序执行到raise,会自动触发异常,让程序结束
while True:
    name=input('请输入您的名字:')
    try:
        if len(name)            
关注
打赏
1657102503
查看更多评论
0.0443s