----------------
如何找出代码中的错误
--------------------
应のBlog
作者:摇滚米饭
最近很多朋友问我代码是哪里错了.现在告诉大家一个办法.
我记得我写过一篇这样的教程的,但是找了半天没有发现.如果谁知道在哪个帖子里麻烦告诉我哦.
其实要知道代码是哪里错了很简单.一行一行找呗,呵呵.玩笑.
我们要用的就是 python解释器,也就是那个 python script shell.
现在我们来写个错的代码:
import appuifw
appuifw.note(u"这里能写中文吗?当然不能了", "info")
我们把这个 .py 放到 'e:\system\apps\python\' 文件夹中(三版机直接放到 'e:\python' 或 'c:\python' )
然后到功能表里运行 python ,选项 - run script (运行脚本) - 找到刚才你弄过来那个脚本确定.
如果没有错的话应该是正常运行或者闪一下就没有了 [ 这是因为你没有加 e32.Ao_lock().wait() ] ,如果有错误的话就会在界面上出现如图中类似的文字。如果你懂英语应该很简单就可以知道是什么错误了,不懂英语的麻烦您查查字典之类的。注意一点,图中蓝色选中的位置里面有: line2 ,这个就是错误所在的位置了,错误在第二行。
用了三版机之后我才知道用 ped 写代码很方便,里面有一个 Go to line 的功能,就是到多少行,我们输入 2 之后一看,哦!原来是这里不能有中文。当然刚才界面上显示的也有提示你是什么错误。
下面我列举出几个错误代码的解释:
IndentationError:expected en indented block (a.py, line3)
缩进错误( a.py 这个文件中的第三行)
ImportError: no module named fan
没有 fan 这个模块
NameError:name "os" is not defined
没有定义 os 。说明你没有 import os
NameError:name "mifan" is not defined
没有定义 mifan .说明你没有定义 mifan =....
AttributeError: "module" object has no attribute "list"
该模块没有list这个函数
IOError:[Errno 2] No such file or directory named "e:\\abcdef.txt"
没有 "e:\\abcdef.txt" 这个路径或者文件
SymbianError:[Errno -46]KErrPermissionDenied
这个是三版编程中经常遇到的事,权限问题,三版机限制了很多
TypeError: rename()takes exactly 2 arguments(0 given)
rename函数需要两个参数(您指定了0个)
好了,就先写这些.困了.