Python中的异常——概述和基本语法

Python中的异常——概述和基本语法

摘要:Python中的异常是指在程序运行时发生的错误情况,包括但不限于除数为0、访问未定义变量、数据类型错误等。异常处理机制是Python提供的一种解决这些错误的方法,我们可以使用try/except语句来捕获异常并进行相应的处理。本部分将对Python中的异常及其基本语法进行详细介绍。

1.简介

1.1什么是异常

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ji6odY6h-1681457268605)(image-20230414145350826.png)]

1.2异常演示

例如:以r方式打开一个不存在的文件。

f = open('xiaogao.txt', 'r')

执行结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uppFjQTY-1681457268613)(image-20230414145621235.png)]

1.3python异常

Python中的异常是指在程序运行时出现的错误,这些错误可能导致程序崩溃或产生不可预期的结果。Python提供了一种机制来处理这些错误,即异常处理机制。

1.4常见的Python异常类型

Python中有很多不同类型的异常,每种异常都代表着不同的错误情况。以下是几个常见的Python异常:

  1. ZeroDivisionError:除数为0。
  2. NameError:尝试访问未定义的变量。
  3. TypeError:数据类型错误。
  4. IndexError:列表、元组等序列中的下标超出范围。
  5. KeyError:尝试访问字典中不存在的键。
  6. IOError:输入/输出错误。
  7. ValueError:传递给函数的参数类型正确但值无效。
  8. ImportError:无法导入模块或包。

2.异常的捕获方法

2.1捕获常规异常

基本语法:

try:
    可能发生错误的代码
except:
    如果出现异常执行的代码

案例:
需求:尝试以r模式打开文件,如果文件不存在,则以w方式打开。

try:
    f = open('linux.txt', 'r')
except:
    f = open('linux.txt', 'w')

2.2捕获指定异常

基本语法:

try:
    print(name)
except NameError:
    print('name变量名称未定义错误')

注意:

① 如果尝试执行的代码的异常类型和要捕获的异常类型不一致,则无法捕获异常。
② 一般try下方只放一行尝试执行的代码。

2.3捕获多个异常

当捕获多个异常时,可以把要捕获的异常类型的名字,放到except 后,并使用元组的方式进行书写。

try:
    print(1/0)
except (NameError, ZeroDivisionError):
    print('ZeroDivision错误...')

执行结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bLigIty1-1681457268618)(image-20230414150130680.png)]

2.4捕获异常并输出描述信息

基本语法:

try:
    print(num)
except (NameError, ZeroDivisionError) as e:
    print(e)

执行结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Gx699UqN-1681457268619)(image-20230414150411424.png)]

2.5捕获所有异常

基本语法:

try:
    print(name)
except Exception as e:
    print(e)
    

执行结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K5x5EbnU-1681457268622)(image-20230414150521913.png)]

2.6异常else

else表示的是如果没有异常要执行的代码。

基本语法:

try:
    print(1)
except Exception as e:
    print(e)
else:
    print('我是没有异常的时候执行的else代码')

执行结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cXK5U38u-1681457268624)(image-20230414150628637.png)]

2.7异常的finally

finally表示的是无论是否异常都要执行的代码,例如关闭文件。

try:
    f = open('test.txt', 'r')
except Exception as e:
    f = open('test.txt', 'w')
else:
    print('没有异常')
finally:
    f.close()

在编写Python程序时,需要考虑到可能出现的各种异常情况,并编写相应的异常处理代码。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肖申克的陪伴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值