1.语法错误

1.1代码拼写错误

在编写Python程序过程中,可能将关键字,变量名或函数名书写错误。当关键字书写错误时会提示SyntaxError(语法错误);当变量名,函数名书写错误时会在运行时给出NameError的错误提示。

1.2程序不符合Python语法规范

在编写程序时,经常会发生程序不符合Python语法规范的情形,例如少写了括号或冒号,以及写错表达式等。

1.3缩进错误

Python语言对代码缩进的要求非常严格,如果又不采用合理的代码缩进,将会抛出SyntaxError异常

2.异常处理

如果在程序中引发了未处理的异常,程序就会因为异常而终止运行。只有在程序中捕获这些异常并进行相关处理,才不会中断程序的正常运行。

2.1异常的特殊之处

有时候即使Python程序语法是正确的,在运行时也有可能会发生错误。在程序运行期检测到的错误称为异常,大多数异常都不会被程序处理,都是以错误提示的形式展现出来。

python检查单词拼写错别字错误怎么办 拼写错误python能正常启动吗_python

第一条错误时分母不为0,第二条错误是变量名没有赋值,第三个错误是不同类型间的无效操作。上面的这些错误都是Python输出提示的异常信息。

2.2使用“try…except”

可以使用“try…except”语句处理异常。在处理时需要检测try语句块中的错误,从而让except语句捕获异常信息并处理。如果不想在异常发生时结束程序,只须在try里面捕获它即可。使用的基本语法格式是

try:
<语句>
except<名字>:
<语句>

上述语句的原理是当开始一个try语句后,Python就在当前程序的上下文中作一个标记,这样当异常出现时就可以回到这里。先执行try子句,接下来会发生什么依赖与执行时是否出现异常。

while True:
		try:
			x = int(input("请输入一个数:"))
			break
		exceptValueError:
			print("这个数没有哦,再输入一次:")

在上述代码中,try语句将按照如下所示的方式运行。
(1)执行try子句(在关键字)
(2)如果没有异常发生,将会忽略except子句,try子句执行后结束。
(3)如果在执行try子句的过程中发生了异常,那么try子句余下的部分将会被忽略。如果异常的类型和except之后的名称相称,那么对应的except子句将被执行。最后执行try语句之后的代码。
(4)如果一个异常不与任何的except匹配,那么这个异常将会传递给上一层的try中。

2.3使用“try…except…else”

语法格式为

try:
<语句>      # 可能发生异常的代码
except<名字1>:    # 要处理的异常1
<语句>            # 异常处理句子
except<名字2>:    # 要处理的异常2
<语句>             # 异常处理语句
...
else:
<语句>       # 如果没有异常发生,则执行这行语句

与“try…except”语句相比,如果在执行try子句时没有发生异常,Python将执行else语句后的语句(如果有else),然后控制流通过整个try语句。

2.4使用“try…except…finally”语句

语法格式为

try:
<语句>      # 可能发生异常的代码
except<名字1>:    # 要处理的异常1
<语句>            # 异常处理语句
except<名字2>:    # 要处理的异常2
<语句>
finally            # 异常处理语句
<语句>

在上述代码中,“except”部分可以省略。无论异常发生与否,finally中的语句都要执行。