笔搜屋

繁体版 简体版
笔搜屋 > python代码 > 第12章 异常处理

第12章 异常处理

章节错误,点此举报(免注册),举报后维护人员会在两分钟内校正章节内容,请耐心等待,并刷新页面。

〇在Python中,异常处理用于捕获和处理程序运行过程中可能出现的错误。当出现错误时,程序会抛出一个异常,如果没有进行异常处理,程序会立即终止。使用try-except语句可以捕获异常并进行相应的处理。

它的格式为:

try:

口# 可能出现异常的代码块

except 异常:

口# 捕获到异常后的处理代码

以下是一个简单的异常处理示例:

try:

口result = 10 / 0

except ZeroDivisionError:

口print('除数不能为零')

#继续执行后面的代码

在这个示例中,我们尝试将10除以0,这会导致ZeroDivisionError异常。由于这个操作被放在了try语句中,所以当异常发生时,程序不会立即终止,而是进入except语句块进行处理。在这个例子中,我们只是简单地打印了一条错误信息。最后,程序会继续执行try-except语句之后的代码。

除了捕获特定类型的异常,还可以使用except Exception来捕获所有类型的异常。例如:

try:

口result = 10 / 0

except Exception as e:

口print(f'发生异常:{e}')

result = '正常执行'

在这个示例中,我们使用了Exception来捕获所有类型的异常,并将异常对象赋值给变量e。这样我们可以在except语句块中获取到异常的具体信息。

——-——————

〇除此之外,有许多不同类型的异常,它们都是从BaseException类派生出来的。以下是一些常见的特定类型的异常以及它们可能引起的原因:

ZeroDivisionError:当除数为零时引发。例如,执行10/0操作会引发这个异常。

FileNotFoundError:当尝试打开一个不存在的文件时引发。例如,执行open('nonexistent.txt', 'r')操作会引发这个异常。

IndexError:当尝试访问列表或元组中不存在的索引时引发。例如,执行my_list[10]操作会引发这个异常。

KeyError:当尝试访问字典中不存在的键时引发。例如,执行my_dict['key']操作会引发这个异常。

TypeError:当操作或函数应用于不适当类型的对象时引发。例如,执行'hello' + 1操作会引发这个异常。

ValueError:当传递给函数的参数类型正确但值不合适时引发。例如,执行int('abc')操作会引发这个异常。

IOError:当发生I/O错误(如文件读写错误)时引发。例如,执行read()操作在没有写入任何数据的情况下读取文件时会引发这个异常。

ImportError:当无法导入模块时引发。例如,执行import nonexistent_module操作会引发这个异常。

SyntaxError:当代码中存在语法错误时引发。例如,执行eval('1 +')操作会引发这个异常。

NameError:当尝试访问未定义的变量时引发。例如,执行print(unknown_variable)操作会引发这个异常。

这些是其中的一部分常见异常类型,还有很多其他类型的异常可以根据需要进行处理,具体情况可上网搜索。

嘿嘿

第12章 异常处理

『加入书签,方便阅读』
123456