python错误类型翻译_Python3.2 官方文档翻译--错误与异常

第六章 错误和异常

直到现在错误信息还没有被涉及到。但你如果已经尝试了实例你可能已经看到一些相关信息。在 python

中至少有两种不同的错误:

syntax errors

exceptions

6.1  语法错误(

syntax errors

)

语法错误,也就是编译错误,当你开始学习 python

时,这种错误可能是你最常见的抱怨。

>>> while True print( ’

Hello world

)

File "", line 1, in ?

while True print( ’

Hello world

)

^

SyntaxError: invalid syntax

语法分析器会知道出错的语句,并在检查到错误的位置前面显示一个小“箭头”。错误是由于箭头编辑的字符引起的或者至少探测到的。在例子中,在函数 print(

)上探测到错误,由于在它前面少了一个:

.

从文本输入情况下, 文件名称和行数将会被打印出来,因此在你可以知道从哪儿定位错误。

8.2  异常

如果语句和表达式在语法上是正确的,当尝试去运行它时可能会产生一个错误。在执行过程中被检测到的错误称为异常和程序不会无条件的崩溃。接下来你会学到在 python

程序中如何处理异常。但是,许多异常不能被程序处理,就会导致如下的错误信息:

>>> 10*(1/0)

Traceback (most recent call last):

File "", line 1, in ?

ZeroDivisionError: int division or modulo by zero

>>> 4 + spam*3

Traceback (most recent call last):

File "", line 1, in ?

NameError: name  ’

spam

is not defined

>>>  ’

2

+ 2

Traceback (most recent call last):

File "", line 1, in ?

TypeError: Can ’

t convert

int

object to str implicitly

错误信息的最后一行描述产生错误的原因,异常产生有不同方式并且错误类型会作为信息的一部分打印出来: 在实例中错误信息是  ZeroDivisionError,NameError

TypeError

。 作为错误类型打印出来的字符串是出现在内置异常的名称。这对内置异常是正常的结果,但对于用户自定义异常(尽管这是一个有用的规范)就不可而知了。标准异常的名称都是内置的标识符。(这不是保留关键字)。

剩下的行信息基于异常类型和产生原因提供更加详细信息。

错误信息的前面部分会显示异常发生的上下文,并且以栈的形式打印出来。总的来说,它包含一个包含源代码的堆栈的列表;但是它不会显示从标准行读取的信息。

Bltin-exception 显示内置所有的异常和所有的信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值