Python编程学习第一篇——Python零基础快速入门(六)(4)异常处理

我们已经了解了Python的基本数据类型、变量和基本的逻辑控制语句,基于这些基础知识可以编写一些小程序了,但是在写程序的时候我们会发现,有时候程序并不是按我们预期的方向执行,有的直接报错,有的没有报错,却并未得到我们预期的结果。这些在Python程序运行过程中出现的错误或异常情况就是异常。为了更好地处理异常,Python提供了一些基本的异常处理方法和技巧。

1. try-except语句:

try-except语句用于捕获和处理异常。代码块在try语句中运行,如果出现异常,则会跳转到except语句块,其中可以执行相应的处理逻辑。下面是一个简单的示例:

try:
    num1 = 10
    num2 = 0
    result = num1 / num2
    print(result)
except ZeroDivisionError:
    print("除数不能为0")

在这个例子中,我们尝试将一个数除以0。由于除数为0会引发ZeroDivisionError异常,所以会跳转到except语句块,并输出"除数不能为0"。

2. try-except-else语句:

try-except-else语句在没有发生异常时执行else语句块中的代码。如果try语句块中发生异常,则不会执行else语句块。下面是一个示例:

try:
    num1 = 10
    num2 = 2
    result = num1 / num2
except ZeroDivisionError:
    print("除数不能为0")
else:
    print(result)

在这个例子中,由于除数不为0,所以没有发生ZeroDivisionError异常,代码会执行else语句块,并输出结果2.0。

3. try-except-finally语句:

try-except-finally语句用于在无论是否发生异常时都执行finally语句块中的代码。无论是否发生异常,finally语句块都会被执行。下面是一个示例:

try:
    f = open("file.txt", "r")
    # 执行一些操作
except IOError:
    print("文件读取错误")
finally:
    f.close()

在这个例子中,我们尝试打开一个文件进行读取。如果发生IOError异常,会跳转到except语句块,并输出"文件读取错误"。无论是否发生异常,finally语句块中的f.close()都会被执行,确保文件被正确关闭。

4. 异常处理中获取异常信息:

在except语句块中,可以使用as关键字将异常信息赋值给一个变量,以便进一步处理。下面是一个示例:

try:
    num1 = 10
    num2 = 0
    result = num1 / num2
except ZeroDivisionError as e:
    print("除数不能为0:", e)

在这个例子中,除数为0会引发ZeroDivisionError异常,我们将异常信息赋值给变量e,并输出"除数不能为0"和异常信息。

6. 自定义异常:

除了Python提供的内置异常类型,我们还可以自定义异常。自定义异常通常继承自Exception类。下面是一个示例:

class MyCustomException(Exception):
    pass

try:
    num = 10
    if num > 5:
        raise MyCustomException("数字太大了")
except MyCustomException as e:
    print(e)

在这个例子中,我们定义了一个自定义异常类MyCustomException,并在一定条件下手动抛出该异常。然后,在except语句块中捕获并处理这个自定义异常。

以上是Python中基本的异常处理方法和技巧的详细讲解,通过适当使用这些技巧,可以帮助我们更好地处理程序中的异常情况。这一节就到这里,大家下期再见!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

urhero

一切源于您的鼓励与支持,谢谢!

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

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

打赏作者

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

抵扣说明:

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

余额充值