1. 异常介绍
在Python中,异常是一种处理程序出现错误的一种机制。通常情况下,程序会按照预设的规则进行运行。但是,当程序执行到某一行时,可能会遭遇到一些错误,例如:文件不存在,除数为0等。这些错误会导致程序崩溃,无法继续运行。而异常的作用就是让程序在遇到错误时,抛出一个异常,告诉程序出错的原因,并在出错时停止程序的执行,从而使得程序运行起来更加健壮。
1.1 异常的分类
Python中的异常可以分为两种:内置异常和自定义异常。内置异常是指Python预先定义的异常,例如:SyntaxError、NameError、TypeError等。自定义异常是指用户自己定义的异常类型。
2. 异常处理
当一个程序运行时遇到异常,如果不进行处理,程序就会崩溃,这对程序的健壮性和可靠性来说是很不利的。因此,在编写程序时,必须考虑到异常处理。Python中的异常处理主要有两种方式:try-except语句和try-finally语句。
2.1 try-except语句
在Python中,使用try-except语句来捕捉异常。try-except语句的语法如下:
try:
# 可能会发生异常的代码
except <异常类型>:
# 异常处理代码
try和except都是Python中的关键字。在try语句块中可以放置可能会发生异常的代码。如果代码执行不出现异常,程序会继续执行try语句块后面的代码。但是,如果执行try语句块时发生了异常,那么程序会跳转到相应的except语句块中,并执行其中的代码。
2.2 try-finally语句
try-finally语句用来保证不管程序是否出现异常,在执行完try语句块后都要执行finally语句块中的代码。try-finally的语法如下:
try:
# 可能会发生异常的代码
finally:
# 不管出现异常与否,都会执行的代码
在执行try语句块中的代码时,如果出现了异常,程序会先执行finally语句块中的代码,再将异常抛出。如果finally语句块中也抛出了异常,那么原本的异常就会被覆盖。
3. 自定义异常
在Python中,用户可以自己定义并使用异常类型。自定义异常可以继承Python内置的异常类型,例如:Exception、ValueError等。自定义异常的语法如下:
class <异常类型>(Exception):
def __init__(self, message):
self.message = message
上面的代码中,Exception是Python内置的异常类型,message是自定义异常的一个成员变量。当自定义异常被抛出时,message的值就会成为异常信息。
4. 实例分析
下面是一个简单的实例,用于说明try-except语句的使用方法:
try:
num1 = int(input('请输入被除数:'))
num2 = int(input('请输入除数:'))
print('相除的结果是:%f' % (num1 / num2))
except ZeroDivisionError:
print('除数不能为零')
上述代码中,我们使用try-except语句来捕捉可能发生的除数为0的异常。如果用户输入的除数为0,那么程序就会跳转到except语句块中,并输出“除数不能为零”的提示信息。
5. 总结
本文主要介绍了Python中异常的概念、分类和处理方法。在编写程序时,要考虑到可能会出现的错误,并使用try-except语句或者try-finally语句来捕捉和处理异常。此外,我们还学习了自定义异常的方法。异常处理是程序设计过程中不可或缺的一步,通过合理的异常处理,可以提高程序的健壮性和可靠性。