我们很多人在学代码的时候都是走正常的路线,包括我所用到的变量,方法,流程,逻辑都是提前设计好的。

但是工作中,当我们面临一个新问题或者要求的时候,我们去设计代码,基本上是做不到把所有要用的到数据,方法都准备好.很多的时候可能一遍使用一遍通过运行代码去调试。

在调试过程中,我们就会遇到这样或者那样的问题,这个就是我们在做代码设计的时候避免不了的一些错误和异常,包括业务流程的逻辑错误都是我们在编码的时候需要注意的.

那么下面就给大家介绍一下python中的错误和异常

NameError

当执行代码报错这样的错误的时候,那么需要我们理解是什么意思.NameError 表示我们访问了一个没有初始化的变量,举例子说明:在pycharm中执行下面的代码:print(foo)查看执行结果:Traceback (most recent call last): File "E:/work/test.py", line 1, in <module> fooNameError: name 'foo' is not defined

其中NameError: name 'foo' is not defined就是对这段代码的错误所给出的信息.NameError字面翻译过来就是名字错误,在看:name 'foo' is not defined表示名字”foo”没有被定义.意思就是print这个方法所使用的参数foo是没有经过定义的。

如果这个foo用引号引起来,那么就是我们说过的字符串,是一个值.但是没有,所以在这里,这个foo就是一个变量.那么变量没有值,在应用的时候就会出现这样的问题.解决方法是定义一下即可:

ZeroDivisionError: 除数为零这个报错信息经常出现在计算的模块中,涉及到计算的逻辑,如

 

图上面这段代码中变量num存储1/0的结果,但是在计算的逻辑中数字0是不能作为分母的,也就是能作为被除数.这个错误结合计算的业务,两个数字都需要填写的时候,会容易发生。SyntaxError: Python 解释器语法错误

SyntaxError 异常是唯一不是在运行时发生的异常. 它代表 Python 代码中有一个不正确的结构,特别是语法结构,看下面的例子:

作为有代码经验的人来说一般不会出现这个错误,因为这个语法怎么使用是作为一个编程人员常识,但是对于初学者,需要去注意,在设计代码的过程中,我们经常会忘记或者意识习惯性敲回车等等.

上图中的就是典型的语法问题.

当然在pyhton中还需要注意的一个结构问题就是换行或者缩进.python语法是非常讲究缩进的一个语言.所以在代码设计的时候,需要注意,当然这个错误也是非常容易甄别:

IndentationError:缩进错误

作为编码人员,对于缩进特别需要注意,尤其是当我们直接复制一段代码过来时用的时候,需要注意调整一下格式.针对于pyhthon中的条件判断,循环,方法函数,类使用的时候都会用到缩进.嵌套循环或者嵌套判断也是缩进使用的高频场景.如下面的代码:

执行结果就是缩进错误.只需要把缩进的地方调整一下即可。