python除数为零的异常

阅读: 评论:0

python除数为零的异常

python除数为零的异常

编写程序的时候,程序员通常需要辨别事件的异常(非正常)情况,这类异常事件可能是程序本身的设计错误,也可能是外界环境发生了变化。为了处理这些情况,Python提供了功能强大的异常处理机制。

1.异常简介

在Python中,程序在执行过程中产生的错误称为异常,如列表索引越界、打开不存在的文件等。例如,运行下面代码程序会发生错误。

print(a)

open("","r")

运行产生如下错误信息:

NameError: name 'a' is not defined

FileNotFoundError: [Errno 2] No such file or directory: ''

由上述信息可知,程序产生了两个异常。其中,第1个异常的类型为NameError(名称),描述信息为a没有定义;第2个异常为FileNotFoundError,描述信息为没有找到文件。在程序中遇到这些问题,如果没有进行任何处理,程序就会终止。

2.异常类

在Python中,所有异常都是Exception的子类。Exception类定义在exceptions模块中,该模块在Python的内建命名空间中,我们不必导入就可以直接使用。

在前面,每次执行程序遇到错误的时候,程序就会引发异常。如果这个异常对象没有进行处理和捕捉,程序就会用所谓的回溯(traceback,一种错误信息)终止执行,这些信息包括错误的名称(如NameError)、原因和错误发生的行号。

下面来列举几个比较常见的异常。

2.1 NameError

尝试当问一个未声明的变量,会引发NameError。例如:

print(foo)

错误信息如下:

Traceback (most recent call last):

File "C:UsersdellDesktopzh.py", line 1, in

print(foo)

NameError: name 'foo' is not defined

上述信息表明,解释器在任何命名空间里面都没找到foo。

2.2 ZeroDivisionError

当除数为零的时候,会引发ZeroDivisionError异常。例如:

1/0

错误信息如下:

Traceback (most recent call last):

File "C:UsersdellDesktopzh.py", line 1, in

1/0

ZeroDivisionError: division by zero

事实上,任何数值被零除都会导致上述异常。

2.3 SyntaxError

当解释器发现语法错误时,会引发SyntaxError异常。例如:

list = ["a","b","c"]

for i in list

print(1)

在上述示例中,由于for循环的后面缺少冒号,所以导致程序出现如下错误信息:

File "C:UsersdellDesktopzh.py", line 2

for i in list

^

SyntaxError: invalid syntax

SyntaxError异常是为已不在运行时发生的异常,它代表着Python代码中有一个不正确的结构,使得程序无法执行。这些错误一般

本文发布于:2024-01-28 00:54:22,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17063744613672.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:除数   为零   异常   python
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23