Python中的异常——概述和基本语法

简介: Python中的异常——概述和基本语法

Python中的异常——概述和基本语法


摘要:Python中的异常是指在程序运行时发生的错误情况,包括但不限于除数为0、访问未定义变量、数据类型错误等。异常处理机制是Python提供的一种解决这些错误的方法,我们可以使用try/except语句来捕获异常并进行相应的处理。本部分将对Python中的异常及其基本语法进行详细介绍。



1.简介


1.1什么是异常

当检测到一个错误时,解释器就无法继续执行了,反而出现了一些错误的提示,这就是所谓的"异常"。




1.2异常演示

例如:以r方式打开一个不存在的文件。

f = open('xiaogao.txt', 'r')


执行结果:



1.3python异常

Python中的异常是指在程序运行时出现的错误,这些错误可能导致程序崩溃或产生不可预期的结果。Python提供了一种机制来处理这些错误,即异常处理机制。


1.4常见的Python异常类型

Python中有很多不同类型的异常,每种异常都代表着不同的错误情况。以下是几个常见的Python异常:


ZeroDivisionError:除数为0。

NameError:尝试访问未定义的变量。

TypeError:数据类型错误。

IndexError:列表、元组等序列中的下标超出范围。

KeyError:尝试访问字典中不存在的键。

IOError:输入/输出错误。

ValueError:传递给函数的参数类型正确但值无效。

ImportError:无法导入模块或包。



2.异常的捕获方法


2.1捕获常规异常

基本语法:

try:
    可能发生错误的代码
except:
    如果出现异常执行的代码


案例:

需求:尝试以r模式打开文件,如果文件不存在,则以w方式打开。

try:
    f = open('linux.txt', 'r')
except:
    f = open('linux.txt', 'w')


2.2捕获指定异常

基本语法:

try:
    print(name)
except NameError:
    print('name变量名称未定义错误')


注意:

① 如果尝试执行的代码的异常类型和要捕获的异常类型不一致,则无法捕获异常。

② 一般try下方只放一行尝试执行的代码。



2.3捕获多个异常


当捕获多个异常时,可以把要捕获的异常类型的名字,放到except 后,并使用元组的方式进行书写。

try:
    print(1/0)
except (NameError, ZeroDivisionError):
    print('ZeroDivision错误...')


执行结果:


2.4捕获异常并输出描述信息

基本语法:

try:
    print(num)
except (NameError, ZeroDivisionError) as e:
    print(e)


执行结果:



2.5捕获所有异常


基本语法:

try:
    print(name)
except Exception as e:
    print(e)


执行结果:



2.6异常else

else表示的是如果没有异常要执行的代码。


基本语法:

try:
    print(1)
except Exception as e:
    print(e)
else:
    print('我是没有异常的时候执行的else代码')


执行结果:



2.7异常的finally

finally表示的是无论是否异常都要执行的代码,例如关闭文件。

try:
    f = open('test.txt', 'r')
except Exception as e:
    f = open('test.txt', 'w')
else:
    print('没有异常')
finally:
    f.close()


在编写Python程序时,需要考虑到可能出现的各种异常情况,并编写相应的异常处理代码。

相关文章
|
4天前
|
索引 Python
python语法错误赋值错误
【7月更文挑战第10天】
11 6
|
1天前
|
IDE JavaScript 前端开发
python语法错误(SyntaxError)
【7月更文挑战第12天】
17 10
|
4天前
|
Python
python语法错误类型错误
【7月更文挑战第10天】
15 7
|
5天前
|
IDE 开发工具 Python
python语法错误关键字使用错误
【7月更文挑战第9天】
13 6
|
5天前
|
Python
python语法错误逗号错误
【7月更文挑战第9天】
9 4
|
4天前
|
IDE 开发工具 Python
python语法错误导入错误
【7月更文挑战第10天】
8 1
|
5天前
|
机器学习/深度学习 数据采集 算法
Python实现Prophet时间序列数据建模与异常值检测(Prophet算法)项目实战
Python实现Prophet时间序列数据建模与异常值检测(Prophet算法)项目实战
|
5天前
|
Python
python语法错误变量未定义
【7月更文挑战第9天】
8 1
|
6天前
|
SQL 数据库 开发者
【Python】已解决:pymssql._pymssql.OperationalError 关于关键字‘distinct’的语法错误
【Python】已解决:pymssql._pymssql.OperationalError 关于关键字‘distinct’的语法错误
11 1
|
2天前
|
存储 调度 Python
异步编程概述在 Python中,`asyncio`库提供了对异步I/O、事件循环、协程(coroutine)和任务的支持。
异步编程概述在 Python中,`asyncio`库提供了对异步I/O、事件循环、协程(coroutine)和任务的支持。
5 0