Python异常处理例题整理
什么是异常?
在 Python 执行代码时,如果发生了错误,都会抛出一个异常,这时程序会停止执行,跳出当前代码块并返回错误信息。
Python异常处理
在 Python 中,我们可以使用 try...except...finally 的方式来捕获异常并进行处理。其语法格式如下:
try:
# 可能出现异常的代码段
except ExceptionName as e:
# 异常处理代码段
finally:
# 不管是否出现异常都会执行的代码段
其中,try 语句块中的代码可能会出现异常,如果出现了指定类型的异常 ExceptionName,就会执行相应的 except 子句中的代码块。如果没有出现异常,那么 except 和 finally 子句都不会执行。而 finally 子句中的代码块无论如何都会在 try 或 except 块执行完之后执行。
下面我们通过两个示例来加深对异常处理的理解。
示例一:使用异常处理读取文件
在 Python 中,如果要读取一个不存在的文件,就会出现 IOError 异常。我们可以通过异常处理来捕获并处理这个异常,避免程序的崩溃。
以下是一个读取文件的示例代码:
try:
with open('test.txt', 'r') as f:
content = f.read()
except IOError as e:
print(f'读取文件出错:{e}')
在这个示例中,我们使用 with 语句来打开一个名为 test.txt 的文件,并读取文件内容。如果文件不存在,就会抛出 IOError 异常,我们在 except 块中可以通过 e 参数获取异常信息,然后输出相应的错误提示信息。
示例二:自定义异常类
有时候,我们需要根据自己的需求来创建自定义的异常类。在 Python 中,可以通过继承 Exception 类来创建自定义异常类。以下是一个自定义异常类的示例代码:
class MyException(Exception):
def __init__(self, value):
self.value = value
def __str__(self):
return repr(self.value)
try:
raise MyException('这是一个自定义异常')
except MyException as e:
print(f'捕获到自定义异常:{e}')
在这个示例中,我们创建了一个名为 MyException 的自定义异常类,并继承 Exception 类。在 MyException 类中,我们定义了一个 init 方法,用于初始化异常信息,并定义了一个 str 方法,用于返回异常信息的字符串表示。然后在 try 块中,我们使用 raise 语句抛出了一个 MyException 类型的异常,然后在 except 块中捕获并处理这个异常。
总结
这篇文章介绍了 Python 中的异常处理机制,并通过实例讲解了如何使用 try...except...finally 语句块来捕获和处理异常,以及如何自定义异常类。当我们能熟练掌握 Python 异常处理机制后,就能编写出更为严谨、健壮的代码。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python异常处理例题整理 - Python技术站