python 英语语法错误检查 python的语法错误_python 英语语法错误检查

程序员的一生中,错误几乎每天都在发生。在过去的一个时期,错误要么对程序是致命的,要么产生一堆无意义的输出。所以,人们需要一个柔和的处理错误的方法,而不是终止执行。当然,这一切都是在异常和异常处理出现之前的事了。

Python中的异常

从软件方面来说,错误是语法或是逻辑上的。语法错误是软件的结构上有错误,导致不能被解释器解释或编译器无法编译。这些错误必须在程序执行前纠正。当语法正确后,剩下的就是逻辑错误了。逻辑错误可能是由于不完整或是不合法的输入所致。当Python检测到一个错误时,解释器就会指出当前流已经无法继续执行下去,这时候就出现了异常。我们来看几个异常的例子。

NameError:尝试访问一个未申明的变量SyntaxError:Python解释器语法错误IndexError:请求的索引超过序列范围KeyError:请求一个不存在的字典关键字IOError:输入/输出错误AttributeError:尝试访问未知的对象属性

python 英语语法错误检查 python的语法错误_元组_02

检测和处理异常

异常可以通过try语句来检测。任何在try语句块里的代码都会被监测,检查有无异常发生。

try语句有两种主要形式:try-except和try-finally。一个try语句可以对应一个或多个except子句,但只能对应一个finally子句,或是一个try-except-finally复合语句。我们还可以在一个except子句里处理多个异常,except语句在处理多个异常时要求异常被放在一个元组里。

python 英语语法错误检查 python的语法错误_元组_03

with语句

类似try-except-finally,with语句也是用来简化代码的,with语法的基本用法如下:with context_expr [as var]: with_suite。看起来如此简单,但并不如看上去那么容易。简单演示下打开文件的例子。

python 英语语法错误检查 python的语法错误_语法错误_04

触发异常

到目前为止,我们见到的所有异常都是由解释器引发的。由于执行期间的错误而引发。程序员在编写API时也希望在遇到错误的输入时触发异常,为此,Python提供了一种机制让程序员明确的触发异常,这就是raise语句。raise一般的用法是:raise [SomeException [, args, [, traceback]]],第一个参数触发异常的名字。如果有,必须是一个字符串,类或实例。第二个符号为可选的args(比如参数,值),来传给异常。最常见的用法为SomeException是一个类,不需要其他的参数。

异常和sys模块

另一种获取异常信息的途径是通过sys模块中的exc_info()函数。此功能提供了一个3元组的信息,多于我们单纯用异常参数所能获得的。

python 英语语法错误检查 python的语法错误_python语法错误概述_05