Python 小白的晋级之路 - 第十六部分:异常处理

2024-06-04 17:54:32 浏览数 (2)

JZGKCHINA

工控技术分享平台

1

异常简介

在编写程序时,我们经常会遇到各种错误和异常情况。为了增加程序的健壮性和可靠性,Python 提供了异常处理机制,允许我们在程序出现异常时进行处理。

异常是在程序执行过程中出现的错误情况,如:除零错误、索引错误、类型错误等。如果不进行处理,这些异常会导致程序崩溃或产生意外的结果。

Python 使用try-except语句来处理异常。try块用于包含可能出现异常的代码,except块用于捕获并处理异常。当异常发生时,程序将跳转到对应的except块进行处理,而不会中断程序的执行。

代码语言:javascript复制
try:
    # 可能出现异常的代码
    ...
except ExceptionType:
    # 处理异常的代码
    ...

2

异常类型

在处理异常时,我们可以根据具体的异常类型进行相应的处理。Python 提供了许多内置的异常类型,包括:

  • ZeroDivisionError:除零错误
  • IndexError:索引错误
  • TypeError:类型错误
  • ValueError:值错误

可以根据具体的应用场景选择合适的异常类型进行处理。

3

异常处理示例

下面是一个简单的异常处理示例,我们将处理可能发生的除零错误。

代码语言:javascript复制
try:
    num1 = int(input('请输入一个数字:'))
    num2 = int(input('请输入另一个数字:'))
    result = num1 / num2
    print('除法运算结果:', result)
except ZeroDivisionError:
    print('除数不能为零!')

运行结果示例:

代码语言:javascript复制
请输入一个数字:10
请输入另一个数字:0
除数不能为零!

在上述示例中,我们使用try-except语句来捕获可能发生的ZeroDivisionError异常。如果用户输入的除数为零,程序将跳转到except块中执行相应的处理代码。

4

课后练习题

练习 1:编写一个程序,要求用户输入两个数字,然后计算它们的商并输出结果。考虑到可能发生的异常情况,例如除零错误和类型错误,通过合适的异常处理来保证程序的健壮性。

代码语言:javascript复制
try:
    num1 = int(input('请输入一个数字:'))
    num2 = int(input('请输入另一个数字:'))
    result = num1 / num2
    print('除法运算结果:', result)
except ZeroDivisionError:
    print('除数不能为零!')
except ValueError:
    print('输入的不是有效的数字!')
except Exception as e:
    print('发生了一个未知异常:', str(e))

练习 2:使用异常处理改进之前的学生信息管理器程序(参考第十四部分的相关案例),在用户输入学生的年龄时,如果输入的不是有效的数字,给出错误提示并要求重新输入。

代码语言:javascript复制
students = []

while True:
    name = input('请输入学生姓名(输入'q'退出):')
    if name == 'q':
        break
    try:
        age = int(input('请输入学生年龄:'))
    except ValueError:
        print('输入的不是有效的数字,请重新输入!')
        continue
    student = {'姓名': name, '年龄': age}
    students.append(student)

print('学生信息如下:')
for student in students:
    print('姓名:{},年龄:{}'.format(student['姓名'], student['年龄']))

通过在输入年龄的代码块中添加异常处理,我们可以捕获用户输入的不是有效的数字时,给出错误提示并要求重新输入。

在上述代码中,我们在接收年龄输入处添加了异常处理。如果用户输入的内容不是有效的数字,则会抛出ValueError异常,我们可以使用try-except语句来捕获该异常,并给出错误提示。通过使用continue语句,程序会跳过当前循环,并要求用户重新输入。

这样,即使用户输入了错误的年龄格式,程序也会继续执行,直到用户输入正确的年龄为止。

5

总结

在本文中,我们学习了关于异常处理的基本知识和方法。我们了解了try-except语句的用法,可以用来捕获和处理可能的异常情况。我们还学习了一些常见的异常类型,并通过示例程序演示了异常处理的过程。

通过合适的异常处理,我们可以提高程序的健壮性和可靠性,减少崩溃和错误产生的影响。同时,我们也学习了如何给用户提供友好的错误提示,并要求他们重新输入。

希望通过本文的学习,读者能够掌握异常处理的基础知识,能够正确地处理在编写程序过程中可能发生的异常情况。请继续加油并进行更多的练习,提升自己在 Python 编程方面的能力!

0 人点赞