python 表达式或语句中包含意外的标记_python显示语言错误_Python错误和异常

错误和异常

Python 中(至少)有两种错误:语法错误和异常( syntax errors 和 exceptions )。

1.1、语法错误

语法错误,也被称作解析错误:

while True print('Hello world')

File"", line 1, in?while True print('Hello world')##SyntaxError: invalid syntax

语法分析器指出错误行,并且在检测到错误的位置前面显示一个小“箭头”。 错误是由箭头 前面 的标记引起的(或者至少是这么检测的): 这个例子中,函数 print() 被发现存在错误,因为它前面少了一个冒号( ':' )。 错误会输出文件名和行号,所以如果是从脚本输入的你就知道去哪里检查错误了。

1.2、异常

即使一条语句或表达式在语法上是正确的,当试图执行它时也可能会引发错误。运行期检测到的错误称为 异常,并且程序不会无条件的崩溃。然而,大多数异常都不会被程序处理,像这里展示的一样最终会产生一个错误信息:

print(10 * (1/0))#Traceback (most recent call last):#File "", line 1, in ?#ZeroDivisionError: int division or modulo by zero

print(4 + spam*3)

#Traceback (most recent call last):#File "", line 1, in ?#NameError: name 'spam' is not defined

print('2' + 2)

#Traceback (most recent call last):#File "", line 1, in ?#TypeError: Can't convert 'int' object to str implicitly

错误信息的最后一行指出发生了什么错误。异常也有不同的类型,异常类型做为错误信息的一部分显示出来:示例中的异常分别为 零除错误( ZeroDivisionError ) ,命名错误( NameError) 和 类型错误( TypeError )。打印错误信息时,异常的类型作为异常的内置名显示。对于所有的内置异常都是如此,不过用户自定义异常就不一定了(尽管这是一个很有用的约定)。标准异常名是内置的标识(没有保留关键字)。

这一行后一部分是关于该异常类型的

你可能感兴趣的:(python,表达式或语句中包含意外的标记)