下面是小编为大家整理的如何用ON ERROR调试程序,本文共8篇,仅供大家参考借鉴,希望大家喜欢!

篇1:用IIs调试程序可用的检查错误方法
用IIS调试ASP程序时,有的页面可以显示出错行及出错原因,虽然原因不是很具体但足以引导调试程序,但有些时候就直接出现:HTTP 500 - 内部服务器错误 就完了,很影响调试,经在CSDN上和大家讨论,谈到很多调试ASP程序时便于检查错误的方法,现总结如下:
1、Win2KServer的管理Web站点不要关闭,
2、检查主目录选项下面“配置”下的应用程序调试有没有被选中,(自己使用发现,如果管理Web站点不关闭,此项就是都不选也能在浏览器中出现错误提示。)
3、可以修改500-100.asp文件使错误提示更生动
blog.csdn.net/snowcloud/archive//12/15/19427.aspx
4、 可以在预先的代码中错误处理:
On Error Resume Next
5、先写框架
编写代码要先将框架(不是指画面的)写好,框架有了,更详细的代码写起来就得心应手了~~~
6、 多用CSS少用Table!
[cometzg]:详细资料可以上 www.w3cn.org/ 网页设计师 网站查询
7、调试的时候在页面屏蔽、输出一些敏感的东东
response.write“”
response.flush
response.end
[cometzg]:这个方法也不是最好,调试的时候可以看到一些信息,但是调试完后需要找到所有的与调试有关的输出语句,也是很麻烦的。
8、程序中有session时,尽量不要ctrl+n window.open新窗口,以免session值混了!
9、在IIS的虚拟目录的配置中设置调试,发送详细错误信息到客户端。
IE中工具==>选项==>高级,取消掉 显示友好的HTTP错误信息
10、收集的错误代码 很实用的。。。
Active Server Pages, ASP 0126 (0x80004005) --> 找不到包含文件
Microsoft OLE DB Provider for ODBC Drivers (0x80040E21) --> sql语句出错(数据类型不匹配或表名(字段名)错误或表处于编辑状态,或表不存在于conn打开的数据库中)
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) --> sql语句出错(字段名错误,或数据类型不匹配)
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07) --> sql语句出错(要插入或更新的字段的类型与变量数据类型不匹配)
Microsoft OLE DB Provider for ODBC Drivers (0x80040E57) --> sql语句出错(要插入或更新的数据溢出)
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10) --> sql语句出错(update字段名或要更新的数据类型错误)
Microsoft OLE DB Provider for ODBC Drivers (0x80004005) --> sql语句出错(要插入或更新的字段的数值不能为空值)
Microsoft OLE DB Provider for ODBC Drivers (0x80004005) --> 打开数据库出错,没有在指定目录发现数据库
Microsoft OLE DB Provider for ODBC Drivers (0x80040E37) --> 没有发现表
Microsoft VBScript. 运行时错误 (0x800A000D) --> 错误引用rs变量(rs对像已关闭或未定义)
Microsoft VBScript. 运行时错误 (0x800A01C2) --> vbscript脚本错误(vbscript语句出错)
Microsoft VBScript. 运行时错误 (0x800A0006) --> vbscript脚本错误(溢出错误)
Microsoft VBScript. 编译器错误 (0x800A040E) --> 缺少loop
Microsoft VBScript. 编译器错误 (0x800A03EA) --> 缺少if或end if
Microsoft VBScript. 编译器错误 (0x800A03EE) --> 语句未结束(缺少“)”)
Microsoft VBScript. 编译器错误 (0x800A03F6) --> if语句出错(缺少end if)
Microsoft VBScript. 运行时错误 (0x800A005B) --> 缺少set
Microsoft VBScript. 运行时错误 (0x800A0005) --> 变量未定义
Microsoft VBScript. 编译器错误 (0x800A03F9) --> if语句缺少then
Microsoft VBScript. 编译器错误 (0x800A0411) --> dim语句定义错误
Microsoft VBScript. 编译器错误 (0x800A0408) --> sql语句错误(?????????????????)
ADODB.Recordset (0x800A0BB9) --> sql语句出错(sql语句或conn语句未定义或对一个rs属性进行赋值时发生错误)
ADODB.Recordset (0x800A0CC1) --> rs对像出错(rs对像本身不存在或错误地引用了一个不存在的字段名)
ADODB.Recordset (0x800A0BCD) --> rs对像出错(记录集中没有记录却对记录集进行操作)
ADODB.Recordset (0x800A0E78) --> rs对像出错(记录集不存在,缺少rs.open语句)
ADODB.Recordset (0x800A0CC1) --> rs对像出错(引用了一个不存在的字段名)
ADODB.Recordset (0x800A0E7D) --> conn定义错误
ADODB.Recordset (0x800A0CB3) --> 数据库以只读方式打开,无法更新数据。
=================================================================================================
============
VBScript. 语法错误
如果 VBScript. 语句结构违反了一个或多个 VBScript. 脚本语言语法规则,就会产生 VBScript. 语法错误。
错误通常在执行程序前,编译程序时产生。 以下是53个语法错误:
错误编号 描述
十进制 十六进制 说明
1001 800A03E9 内存不足
1002 800A03EA 语法错误
1003 800A03EB 缺少“:”
1005 800A03ED 需要 '('
1006 800A03EE 需要 ')'
1007 800A03EF 缺少“]”
1010 800A03F2 需要标识符
1011 800A03F3 需要 '='
1012 800A03F4 需要 'If'
1013 800A03F5 需要 'To'
1014 800A03F6 需要 'End'
1015 800A03F7 需要 'Function'
1016 800A03F8 需要 'Sub'
1017 800A03F9 需要 'Then'
1018 800A03FA 需要 'Wend'
1019 800A03FB 需要 'Loop'
1020 800A03FC 需要 'Next'
1021 800A03FD 需要 'Case'
1022 800A03FE 需要 'Select'
1023 800A03FF 需要表达式
1024 800A0400 需要语句
1025 800A0401 需要语句的结束
1026 800A0402 需要整数常数
1027 800A0403 需要 'While' 或 'Until'
1028 800A0404 需要 'While,'、 'Until,' 或语句未结束
1029 800A0405 需要 'With'
1030 800A0406 标识符太长
1031 800A0407 无效的数
1032 800A0408 无效的字符
1033 800A0409 未结束的串常量
1034 800A040A 未结束的注释
1037 800A040D 无效使用关键字 'Me'
1038 800A040E 'loop' 没有 'do'
1039 800A040F 无效 'exit' 语句
1040 800A0410 无效 'for' 循环控制变量
1041 800A0411 名称重定义
1042 800A0412 必须为行的第一个语句
1043 800A0413 不能赋给非Byval参数
1044 800A0414 调用 Sub 时不能使用圆括号
1045 800A0415 需要文字常数
1046 800A0416 需要 'In'
1047 800A0417 需要 'Class'
1048 800A0418 必须在一个类的内部定义
1049 800A0419 在属性声明中需要 Let , Set 或 Get
1050 800A041A 需要 'Property'
1051 800A041B 参数数目必须与属性说明一致
1052 800A041C 在类中不能有多个缺省的属性/方法
1053 800A041D 类初始化或终止不能带参数
1054 800A041E Property Let 或 Set 至少应该有一个参数
1055 800A041F 不需要的 'Next'
1056 800A0420 只能在 ‘Property’ 或 ’Function’ 或 ’Sub’ 上指定 ’Default’
1057 800A0421 说明 'Default' 必须同时说明 'Public' “
1058 800A0422 只能在 Property Get 中指定 'Default'
VBScript. 运行时错误
如果 VBScript. 脚本执行系统无法实施的操作,则会产生 VBScript. 运行时错误,
只有在运行脚本、为变量表达式赋值或分配内存时,才会产生 VBScript. 运行时错误。 以下是65个运行时错误:
错误编号 描述
十进制 十六进制 说明
5 800A0005 无效过程调用或参数
6 800A0006 溢出
7 800A0007 内存不足
9 800A0009 下标越界
10 800A000A 该数组为定长的或临时被锁定
11 800A000B 被零除
13 800A000D 类型不匹配
14 800A000E 字符串空间溢出
17 800A0011 无法执行请求的操作
28 800A001C 堆栈溢出
35 800A0023 未定义 Sub 或 Function
48 800A0030 加载 DLL 错误
51 800A0033 内部错误
52 800A0034 坏文件名或数
53 800A0035 文件未找到
54 800A0036 坏文件模式
55 800A0037 文件已经打开
57 800A0039 设备I/O错误
58 800A003A 文件已经存在
61 800A003D 磁盘空间已满
62 800A003E 输入超出文件尾
67 800A0043 文件太多
68 800A0044 设备不可用
70 800A0046 权限禁用
71 800A0047 磁盘未准备好
74 800A004A 不能用不同的驱动器重新命名
75 800A004B 路径/文件访问错误
76 800A004C 路径未找到
91 800A005B 未设置对象变量
92 800A005C For 循环未初始化
94 800A005E 非法使用 Null
322 800A0142 不能建立所需临时文件
424 800A01A8 需要对象
429 800A01AD ActiveX 部件无法创建对象
430 800A01AE 类不支持自动化
432 800A01B0 在自动化操作中未找到文件名或类名
438 800A01B6 对象不支持该属性或方法
440 800A01B8 Automation错误
445 800A01BD 对象不支持此操作
446 800A01BE 对象不支持指定的参数
447 800A01BF 对象不支持当前的区域设置
448 800A01C0 未找到命名参数
449 800A01C1 参数不可选
450 800A01C2 错误的参数个数或无效的参数属性值
451 800A01C3 对象不是一个集合
453 800A01C5 指定的dll函数未找到
455 800A01C7 代码源锁错误
457 800A01C9 这个键已经是本集合的一个元素关联
458 800A01CA 变量使用了一个 VBScript. 中不支持的自动化(Automation)类型
462 800A01CE 远程服务器不存在或不能访问
481 800A01E1 无效图片
500 800A01F4 变量未定义
501 800A01F5 违法的分配
502 800A01F6 脚本对象不安全
503 800A01F7 对象不能安全初始化
504 800A01F8 对象不能安全创建
505 800A01F9 无效的或不合格的引用
506 800A01FA 类未被定义
507 800A01FB 发生异常
5016 800A1398 需要正则表达式对象
5017 800A1399 正则表达式中的语法错误
5018 800A139A 错误的数量词
5019 800A139B 在正则表达式中需要 ']'
5020 800A139C 在正则表达式中需要 ')'
5021 800A139D 字符集越界
32811 800A802B 元素未找到
[cometzg]:同时感谢 ruide205(苏森) 、 miqier(米琪儿) 、Jaron(WWW.JARON.CN) 、 snowcloud2002(忧郁の蓝) 、 BainStudio(胖胖狗)提供 、lansheyuyan(一颗心,一根肠子) 、 nan7757(骑着蚂蚁闯红灯) 、dsclub(兀儿 - 干部)、BainStudio(胖胖狗)等提供方法或资料
篇2:如何用ON ERROR调试程序
如何用 ON ERROR 来调试应用程序 FoxPro 提供了 ON ERROR 命令来允许编程者捕捉应用程序中出现的特定错误. 本文说明如何使用一个错误捕捉例程保存有关的调试信息到一个 FoxPro 表中. 本文中的代码捕捉出现在 FoxPro 应用程序中的错误并保存以下信息到一个表中: · 错误出现的计算机名. · 错误号. · 错误信息. · 如果源代码可用, 发生错误的源代码. · 发生错误的程序. · 发生错误的行号. · 错误发生时最近选定的表. · 错误的日期和时间. 应用程序中的错误的语法和逻辑会产生许多可捕捉错误. 有些出现在应用程序中的错误在被最终用户测试前是不可知的. 当默认的 FoxPro 错误信息显示对于程序员来说是有用的信息时, 它的出现可能会使最终用户糊涂. 同样, 当应用程序执行时, 最终用户通常很少有时间小心的注意并报告错误的出现. 在没有人提供错误报告时, 这些代码也有助于检验断断续续出现的错误的原因. 用以下代码创建一个叫做 Errutil.prg 的程序:
ON ERROR DO errhand IN errutil ;
WITH SYS(0), ERROR(), MESSAGE(), MESSAGE(1), ;
PROGRAM(), LINENO(1), DBF(), DATE(), TIME() * 错误捕捉设置结束.
PROCEDURE errhand PARAMETER m.machine, m.messgnum, m.messg, m.linecode, ; m.callprog, m.inline, m.OPENTABL, m.errdate, ;
m.errtime m.errspace=SELECT() && 保存当前工作区.
m.errorder=ORDER() && 保存当前排序.
IF LEN(ALLTRIM(m.callprog))=0
m.callprog=”Command Line“
STORE SPACE(0) TO m.linecode
ENDIF
utmsgline=”错误 ; “+m.messg+CHR(13)+”行号 “+STR(m.inline)+ ; CHR(13)+ ; ”程序名 = “+m.callprog+CHR(13)+”语法 :“+m.linecode * Visual FoxPro 用户使用 =MESSAGEBOX(outmsgline,32+0) * FoxPro For Windows 用户使用 Foxtools.fll 中的 MsgBox() 函数 WAIT WINDOW outmsgline TIMEOUT 5 && 所有版本均可使用该语法.
IF !USED(”ERRORLOG“)
IF FILE(”ERRORLOG.DBF“)
SELECT 0 USE errorlog ELSE SELECT 0 thisversion=VERSION()
IF LEFT(ALLTRIM(thisversion),6)=”Visual“ * 为 Visual FoxPro 版本创建一个自由表
CREATE TABLE errorlog FREE (machine c(20), messgnum N(4,0), ; messg c(70), linecode c(70), callprog c(40), ; inline N(6,0), OPENTABL c(25), errdate d, errtime c(8)) ELSE CREATE TABLE errorlog (machine c(20), messgnum N(4,0), ; messg c(70), linecode c(70), callprog c(40), ; inline N(6,0), OPENTABL c(25), errdate d, errtime c(8))
ENDIF
ENDIF
ENDIF
INSERT INTO errorlog FROM MEMVAR
SELECT errorlog && 选择 errorlog 表.
USE && 关闭 errorlog 表.
SELECT (m.errspace) && 返回到保存的工作区.
IF !EMPTY(ALIAS())
SET ORDER TO (m.errorder)
ENDIF
RELEASE ALL LIKE m.messgnum, m.messg, m.linecode, m.callprog, m.inline
RETURN
用以下代码创建一个名为 Ztest.prg 的程序:
DO errutil && 激活 Errutil.prg 中的 ON ERROR 例程.
USE c:noexist.dbf && 因为该文件尚不存在因此会发生错误
DO C:noexist.prg ON ERROR && 关闭活动的 ON ERROR 例程.
在 Visual FoxPro 命令窗口中打入以下命令: Do ZTest.prg. 两个 Wait 窗口显示出不愉快的错误代码行. 这些信息被放入 Errorlog.dbf 文件中. 5 秒钟后窗口消失. 激活命令窗口, 然后打开并浏览 Errorlog 表.
篇3:Python中使用PDB库调试程序
这篇文章主要介绍了Python中使用PDB库调试程序,本文讲解了使用PDB的二种模式以及PDB模式下的常用调试命令,需要的朋友可以参考下
Python自带的pdb库,发现用pdb来调试程序还是很方便的,当然了,什么远程调试,多线程之类,pdb是搞不定的,
用pdb调试有多种方式可选:
1. 命令行启动目标程序,加上-m参数,这样调用myscript.py的话断点就是程序的执行第一行之前
代码如下:
python -m pdb myscript.py
2. 在Python交互环境中启用调试
代码如下:
>>> import pdb
>>> import mymodule
>>> pdb.run(‘mymodule.test‘)
3. 比较常用的,就是在程序中间插入一段程序,相对于在一般IDE里面打上断点然后启动debug,不过这种方式是hardcode的
代码如下:
if __name__ == ”__main__“:
a = 1
import pdb
pdb.set_trace()
b = 2
c = a + b
print (c)
然后正常运行脚本,到了pdb.set_trace()那就会定下来,就可以看到调试的提示符(Pdb)了
常用的调试命令
h(elp),会打印当前版本Pdb可用的命令,如果要查询某个命令,可以输入 h [command],例如:“h l” ― 查看list命令
l(ist),可以列出当前将要运行的代码块
代码如下:
(Pdb) l
497 pdb.set_trace()
498 base_data = {}
499 new_data = {}
500 try:
501 execfile(base_file_name,{},base_data)
502 -> execfile(new_file_name,{},new_data)
503 except:
504 logger.writeLog(“error! load result log error!”)
505 print “load cmp logs error!”
506 raise Exception, “load cmp logs error!”
507
b(reak), 设置断点,例如 “b 77″,就是在当前脚本的77行打上断点,还能输入函数名作为参数,断点就打到具体的函数入口,如果只敲b,会显示现有的全部断点
代码如下:
(Pdb) b 504
Breakpoint 4 at /home/jchen/regression/regressionLogCMP.py:504
condition bpnumber [condition],设置条件断点,下面语句就是对第4个断点加上条件“a==3”
(Pdb) condition 4 a==3
(Pdb) b
Num Type Disp Enb Where
4 breakpoint keep yes at /home/jchen/regression/regressionLogCMP.py:504
stop only if a==3
cl(ear),如果后面带有参数,就是清除指定的断点(我在Python2.4上从来没成功过!!!);如果不带参数就是清除所有的断点
代码如下:
(Pdb) cl
Clear all breaks? y
disable/enable,禁用/激活断点
代码如下:
(Pdb) disable 3
(Pdb) b
Num Type Disp Enb Where
3 breakpoint keep no at /home/jchen/regression/regressionLogCMP.py:505
n(ext),让程序运行下一行,如果当前语句有一个函数调用,用n是不会进入被调用的函数体中的
s(tep),跟n相似,但是如果当前有一个函数调用,那么s会进入被调用的函数体中
c(ont(inue)),让程序正常运行,直到遇到断点
j(ump),让程序跳转到指定的行数
代码如下:
(Pdb) j 497
> /home/jchen/regression/regressionLogCMP.py(497)compareLog()
-> pdb.set_trace()
a(rgs),打印当前函数的参数
代码如下:
(Pdb) a
_logger =
_base = ./base/MRM-8137.log
_new = ./new/MRM-8137.log
_caseid = 5550001
_toStepNum = 10
_cmpMap = {‘_bcmpbinarylog‘: ‘True‘, ‘_bcmpLog‘: ‘True‘, ‘_bcmpresp‘: ‘True‘}
p,最有用的命令之一,打印某个变量
代码如下:
(Pdb) p _new
u‘./new/MRM-8137.log‘
!,感叹号后面跟着语句,可以直接改变某个变量
q(uit),退出调试
发现在命令行下调试程序也是一件挺有意思的事情,记录下来分享一下
w ,Print a stack trace, with the most recent frame. at the bottom.An arrow indicates the ”current frame", which determines the context of most commands. ‘bt‘ is an alias for this command.
d ,Move the current frame. one level down in the stack trace
(to a newer frame).
u ,Move the current frame. one level up in the stack trace
(to an older frame).
使用 u 和 d 命令,我们可以在栈帧之间切换,用以获取其相关上下文变量信息,
w可以显示最近的一些栈帧信息。
篇4:AppleWatch开发教程之调试程序使用帮助文档
调试又被称为排错,是发现和减少程序错误的一个过程,在Xcode中进行调试的需要实现以下几个步骤:
1.添加断点
在进行程序调试之前,首先需要为程序添加断点,断点是调试器应该停止程序的运行并让开发者可以运来查看成的地方。将光标移到到要添加断点的地方,按住Command+键或者选择菜单栏中的“Degbug|Breakpoints|Add Breakpoint at Current Line”命令进行断点的添加,之后会在添加断点代码的最左边看到一个蓝色箭头,这就是一个新断点,如图2.39所示。
图2.39 添加断点
2.运行程序
单击运行按钮后,程序就会运行。这时运行的程序会停留在断点所在的位置处,并且此代码行会出现绿色的箭头,表示现在程序运行到的位置,如图2.40所示。不仅如此,iWatch模拟器也会显示,但是没有内容。
图2.40 执行断点
3.断点导航
在程序停留下来后,程序调试信息窗口就会出现,里面显示了一些调试信息。在程序调试信息窗口顶端,会出现断点导航,如图2.41所示。
图2.41 断点导航
q Toggle global breakpoint state按钮:选择要查看的线程。
q Continue program execution按钮:继续执行当前的代码,如果有下一个断点,就停止在下一个断点上。
q Step Over按钮:执行下一个代码。如果当前行是方法调用,则不会进入方法内部,
q Step Into按钮:进入方法内容。
q Step Out按钮:跳过当前方法,即执行到当前方法的末尾。
这时,单击断点导航中的Continue program execution按钮,继续执行当前的代码。如果这时程序出现错误就不会跳到下一断点处;如果程序没有问题就会继续向下执行。现在只有一个断点,单击此按钮,程序会输出最后的结果。
4.删除或废弃断点
如果,程序没有问题,那么,就要将程序中设置的断点进行删除或者废弃。删除断点长用到的方法有三种:
q 右击设置的断点,在弹出的快捷菜单中选择Delete Breakpoint命令。
q 选中设置断点的行,在Xcode的菜单栏中选择Debug|Breakpoints|Remove Breakpoint at Current Line命令。
q 选择断点,将其拖动到别的地方,这时,此断点就进行了删除。
要废弃断点,就是要单击断点,这时,断点就由深蓝色变为了浅蓝色。浅蓝色的断点就说明该断点已被废弃,如图2.42所示。
图2.42 废弃断点
篇5:AppleWatch开发教程之调试程序使用帮助文档
在编写代码的时候,可能会遇到很多的方法。如果开发者对这些方法的功能,以及参数不是很了解,就可以使用帮助文档。那么帮助文本该如何打开以及如何查找相关的内容呢?以下将为你解决这些问题。
1.打开帮助文档
要使用帮助文本,必须要对其进行打开。选择Help|Documentation and API Reference命令,就可以打开了,如图2.43所示。
图2.43 帮助文档
2.查找
如果想要查找一个方法,可以在搜索栏中输入这个方法,如图2.44所示。回车后,便可以找到响应的内容。
图2.44 搜索内容
篇6:如何“用以致学”
如何“用以致学”
先说我的看法,学校里面的学生,建议“学以致用”,职场中的人士,建议“用以致学”,原因很简单,学生,要理解原理,方便以后使用知识的时候,即使不会,能够根据理论推导出来,另外,学生其实是有职业啦,我说句话,“职业学习者”。
既然学生的职业是学习,因此,就要“求甚解”,知其然,还要知其所以然,我的理解,这是职业道德,做不到的,不叫好学生。嗯,我承认,我在做学生的时候,不是好学生,呵呵,我的建筑专业学得有点烂。嘿嘿。
因此,从学生角度,研究源码逻辑是可以的。因为你要去理解底层很多细节,记住,下回调用的时候,自然会用,实在不会用,抄总会吧,把人家的代码抄过来,变一变,就可以满足自己的需求。
但是,研究源码是很费时间的,比如读两本书,应该说,这两本书是有差别的,至少,它们的目标客户群不一样,后者,更多面向学生,就是针对学生的需求来设计的,而前者,应该说,一个是很标准的商用程序员,嗯,商用作者,他的书,有很强的目的性,主要针对在职程序员,因此,书的风格体现短平快,抽象度比较好,更多体现在“用”,而不是“分析”。这是我的看法。
其实,这里面已经体现职业人士学习需求和学生是不一样的,职业程序员,有个中心思想,就是快速使用,因为公司里做事,没有太多时间给你学习,大家都在忙着赚钱,一个需求过来,程序员首先评估自己的知识体系,自己积攒的工程库能否支撑,有的,打勾,没有的,就要去找,还要赶快找,因为项目有时间的。
所以,职业程序员学习,有点不求甚解的,很多时候,同样学个东西,职业程序员学习,没有学生来得扎实。原因很简单,我们研究一个库,通常要研究它的“特性”,什么叫做特性呢?我的理解,就是程序api没有讲清楚的事情。一个函数,什么参数,返回什么,这个往往一目了然,但是,它内部的实现,是空间优先,还是时间优先,有没有某种潜在隐患,是不是线程安全,等等,一个程序员,不理解这些“特性”,可以说没有掌握这个库,写出程序来,bug一大堆,肯定会有问题。
所以我说,学习使用别人的库,很多时候,比重写还累,自己写,自己拿解决方案,很多时候符合自己的习惯,其实不难的,但是,真要掌握一个库,要从源代码中“逆推”别人的思想,其实非常难,更何况,很多源代码,尤其是开源的啊,变量命名很简化,注释不规范,其实我说句话,这堆代码,只能用,不能学,但是,别人学不会你的特性,又没法用好,因此,最后还是不能用,因此,叫做垃圾,
ok,这里说一点我的看法,职业程序员怎么选书,有时间的话,找点源码分析看,可以,但通常,对于解决目前的工作,没有多大用途,更多的是用来**内功,因为真要一个项目火烧眉毛了,你再去看源码分析,晚了,时间也不够了。
项目中应对问题,一般建议开快餐式书籍,或者google,能解决问题是最好,搞不懂的,先做出来看,自己做测试程序来测,先解决问题。
当然,这里面也能看出一个程序员能不能做久,一些程序言,当时用快餐的方法解决了,但留下了问题,下来,项目不那么紧急的时候,就会去自己再仔细K一遍源码或者有深度的书籍,再多测试一下,尽量掌握透,而绝大多数人,项目一完,喝酒去咯,呵呵,大家说是不是这样?
大家说,哪个程序员可以做得很久?
大家老是说我们中国缺程序设计大师,很浮躁,但是,我想说一句,就在这些细节上,大家不妨问问自己,看自己是怎么做的?
因此,对于学习,我的建议,如果你是学生,按照学生的'方法,深入挖掘,但不妨碍你看点快餐式书籍啊。但当你以后到了职场,要学会“用以致学”,这样才能赚到薪水,有钱吃饭。不过,如果你要做个好的程序员,想成长为牛人的话,那么,注意啊,重点来了,你要学会吃苦。
什么叫做吃苦?
项目完成了,大家出去聚餐,唱卡拉OK,你可不可以看看手表,22:00了,站起来和大家说声抱歉,我要回去看书了。大家出去旅游,你说你们去玩,我在家里看书。有个电视很好看,你和家人讲,你们慢慢看,你坐在电脑前,看书,做实验。到2:00睡觉。每天晚上,19:00回到家,吃晚饭,把该做的家务做了,然后坐到电脑前去学习?
公交车上,随手拿出手机,开始看书。这些都不是最重要的,最重要的,上述习惯,你保持看看。有一点需要提醒的是,“能力越强者,头抬得越高,不用看别人脸色”这句话是错的。真正你看了很多书,能解决很多问题之后,头会越来越低的,而且,一定会看别人的脸色。
原因很简单,看书,你看得越多,我这里摆句话,你会觉得你不懂的东西越多,你会越来越发现,这个世界需要合作,每个人都有你不知道的东东,你需要借助他们的力量。 头抬得太高,别人还会和你合作吗?人力有时而穷,我们学习,不是说什么事情都要自己来,那会累死的。学会合作,你的事业更容易成功。
篇7:用果然造句
1、天气预报预告明天下雨,明天果然下雨了。
2、高考的成绩果然出乎我的意料。
3、我军训练有素,果然旗开得胜,一举击退来犯的敌人。
4、她说今日来陪我玩,今日早晨她果然来了。
5、天气预报说今日有雨,果然下雨了。
6、帮忙小明的好心人果然是小红。
7、小名最近学习很尽力,果然考了一个好成绩。
8、小明果然如小郑所预言在今日结婚了,小郑好像有未卜先知的本事。
9、一场春雨过后,大地上果然涌出了鲜嫩的小草。
10、大明湖畔的美景,果然仍是吸惹人的哟。
11、不出所料,他果然没有在家。
12、你果然没有按照教师的安排做作业。
13、天气预报说今日晚上有雨,黄昏时分果然下起了瓢泼大雨。
14、需要减肥的同志来医院,果然是最好的选择。
15、明明果然像大家说的那样,做起事情来有条有理。
16、你果然想跟他和解,就应当主动找他谈谈。
17、果然有几团磷火拌着一个女孩走了出来。
18、好多年不见了,若然不出我所料,她还是像以前那么美丽。
19、早就听说了你的故事,见到你果然名不虚传。
20、我先吃生果,而后喝水,果然拉肚子了。
21、那么冷的天还穿一件衣服,果然不出意外的感冒了。
22、我刚心里想着她果然有够丑的,却忍不住也笑了起来。
23、小名最近学习很尽力,果然考了一个好成就。
24、春风吹来了,小鸟儿果然又从南方飞回来了。
25、我猜你会把分给我,你果然给我了。
26、她果然是深爱着另一个人,不然此刻怎样会对我如此冷漠?
27、日本的核电站正如我们预感的果然报废了,但从日本公民生涯上看上却并没有太大的影响。
28、都说张家界山水很美,身临其境一看,果然名不虚传。
29、不出我所料,他果然在码头上等着。情景果然不出我们所料。共页:下一页。
30、这个人果然神出鬼末,庆幸的是我早就晓得端倪了。
31、他果然不是说说就算了的,还算讲信用。
32、事情的发展果然如你所料,真是神机妙算,令人折服!
33、气象预告说今日有雨,果然下起了滂沱大雨
34、考试前我努力的复习,最终,苍天不负有心人,我果然考了喜人的好成绩。
35、昨日小明说今日考试,今日果然考试了。
36、今日我吃了西瓜,果然拉肚子了。
37、小明在认真学习下果然成绩好起来了。
38、春风吹来了,小鸟儿果然又从南方飞回来了。
39、他果然选择了迎难而上。
40、这只熊果然名不虚传,笨得出奇。
41、他果然来看电影了。
42、他说他会来的,果然来了。
43、不出所料,他果然没有在家。
44、竹马之友果然是我最爱!
45、读了一午时的书,弄懂了不少问题,果然是开卷有益啊。
46、你果然没有按照教师的安排做作业。
47、我军精锐一出,果然锐不可当,敌人望风而逃。
48、小明果然考了分,与我预料的一模一样。
49、天气预报说今日下雨,果然午时下了雨。
50、他果然考了分,与我预料的一模一样。
51、我算计爸爸出差今日能回来,果然回来了。
52、她这个呕心沥血的作品,一出道果然一呜惊人。
53、那么冷的天还穿一件衣服,果然不出意外的感冒了。
54、我猜他这次考试是第一名,颁布成绩的时候教师果然第一个念到他的名字
55、小明在认真学习下果然成绩好起来了。
56、妈妈说明天会下雨,第二天果然下雨了。
57、这段时间很冷,果然没几天就下雪了。
58、他们设下圈套,他果然落入其中
59、那里果然称得上是人间仙境。
60、这件坏事正如你所说的,果然是他干的。
61、第一次来到那里,果然是很漂亮的处所。
62、今日我吃了西瓜,果然拉肚子了。
63、好奇楼主不要笑话,把问题归为笑话类的,好吧我否认我果然好奇了。
64、我定睛一看,果然有一个橘红色的碟状物在夜空中飘动。
65、考试前我努力的复习,最终,苍天不负有心人,我果然考了喜人的好成绩。
66、与我猜测的一样,他果然来了。
67、果然一过淮河,好多人拉肚子。
68、这道菜是大厨师的牛刀小试,口味果然不一样凡响!
69、他果然给海沃德写了信。
70、我感到我这次会考到分以上,果然不出我所料,真的考了分以上了。
71、小名最近学习很尽力,果然考了一个好成就。
72、我军佯装退却,敌人果然中计,一步步地进入我军的伏击圈。
73、这位得奖青年果然长得相貌堂堂,在同伴中鹤立鸡群,十分引人注目。
74、这件坏事正如你所说的,果然是他干的。
75、果然是他偷了钱。
76、他果然实现了本人的诺言。
77、我没好好学习,成绩果然降落了。
78、他说吃苹果能减肥,我试了试,果然有效。
79、本来浪花跟咱们住在一条路上,就随着浪花一齐下了公车,五一广场果然是个背眼的地方。
80、她果然是深爱着另一个人,不然也不会拒绝你。
篇8:用虽然但是造句
用虽然但是造句(精选50句)
1、虽然这次考试没考好,但是我并不灰心。
2、虽然这次考试取得了高分,但是我并不高兴。
3、虽然今天天气很好,但是很热。
4、虽然今天很冷,但是我还要写作业。
5、虽然我知道他在骗我,但是我还是原谅了他。
6、虽然父母非常疼爱他,但他还是经常做错事来伤害父母的心!
7、虽然我学习不好,但是我会认真努力的!
8、小明虽然考了第一,但是他一点也不骄傲。
9、他虽然很顽皮,但是学习很好。
10、虽然他不聪明,但是他学习十分的用功。
11、虽然这个问题比较难回答,但是我还是会尽力的。
12、虽然你的成绩很好,但是不能骄傲。
13、虽然小明很努力,但是他还是没有考100一百分。
14、虽然这道题很简单,但是他还是不会。
15、虽然这本书很难懂,但是它的内容很有趣。
16、虽然小妹妹只有5岁,但是她能把乘法口诀倒背如流。
17、虽然我们现在有了良好的生活条件,但是我们不能奢侈浪费。
18、虽然天气不是很好,但是我们仍然去春游。
19、虽然你头脑不太灵活,但是你还是很努力。
20、虽然考砸了,但是会努力的。
21、虽然今天天气很好,但是很热。
22、我们现在虽然生活富裕了,但是也要注意节约。
23、虽然妈妈是为了我好,但是他这样做太过分了。
24、虽然我这次没有考出个好成绩,但是我并不灰心泄气。
25、虽然读书很辛苦,但是还是要坚持。
26、虽然今天太阳很毒辣,但是有风也还不是太热。
27、虽然我们会遇到大大小小的`麻烦,但是掩盖不了生命如此绚烂的本质。
28、虽然我题没做完,但是我做完的全对。
29、虽然电脑有它的好处,但是他也有他的坏处。
30、虽然这样做是错的,但是也有道理。
31、妈妈说:“虽然我很过分,但是都是为了你好。”
32、然他失败了,但是他选择微笑面对。
33、虽然情非得已,但是也没办法。
34、虽然这样做不妥当,但是我也没有办法。
35、虽然爷爷已经很老了,但是他还是坚持每天做运动。
36、虽然雨很大,但是我还是会去上学。
37、虽然我考了一百分,但是我还是不能骄傲。
38、虽然学习很辛苦,但是我相信只要我肯付出努力就一定会有所收获的!
39、虽然这份礼物很朴素,但是我很喜欢。
40、虽然糖果很好吃,但是吃多了会蛀牙。
41、虽然每天早出晚归,风吹日晒,但是我还是很高兴,因为我在为梦想奋斗。
42、虽然小明有时很顽皮,但是他也很懂事。
43、虽然我很想成为知识渊博的人,但我的脑袋真的装不下那么多东西。
44、虽然妈妈是为了我好,但是她这样做太过分了。
45、虽然这是你亲手做的巧克力蛋糕,但是我不喜欢。
46、虽然我总是睡到很晚才起床,但是我没有迟到过。
47、虽然这道题很难,但是我还是把它做出来了。
48、虽然我生病了,但是我还是要坚持去上学。
49、虽然这座桥已经建了很多年,但是她依然很坚固。
50、虽然他犯了错误,但是他已经悔改了。
★用比喻句
★各有其用
文档为doc格式