上一条 下一个

爪哇如何工作

经过:马歇尔大脑

错误和调试

当您了解编程时,您会注意到的一件事是,您倾向于犯有很多错误和假设,这些错误和假设会导致您的程序达到:1)不编译,或2)产生您在它执行。这些问题称为错误,删除它们的行为被称为调试。任何程序员大约有一半的时间都花在调试中。

您将有足够的时间和机会来创建自己的错误,但是要更加熟悉可能性,让我们创建一些。在您的程序中,尝试在行末尾删除其中一个半隆,然后尝试使用Javac。编译器将为您提供错误消息。这称为编译器错误,并且您必须消除所有这些,然后才能执行程序。尝试拼写功能名称,遗漏“ {”或消除其中一个进口线适应不同的编译器错误。您第一次看到某种类型的编译器错误时可能会令人沮丧,但是通过这样的实验 - 通过您故意创建的已知错误 - 您可以熟悉许多常见错误。

广告

当程序编译良好并运行时,发生了一个错误,也称为执行(或运行时)错误,但不会产生您计划在其上计划的输出。例如,此代码产生一个红色矩形,上面有两条对角线:

G.setColor(color.red);G.Fillect(0,0,200,200);G.setColor(color.black);G.DrawLine(0,0,200,200);G.Drawline(200,0,0,200);

另一方面,以下代码仅产生红色矩形(覆盖两行):

G.setColor(color.black);G.DrawLine(0,0,200,200);G.Drawline(200,0,0,200);G.setColor(color.red);G.Fillect(0,0,200,200);

该代码执行时看起来完全不同,但看起来完全不同。如果您期望看到两条对角线,则第二种情况中的代码包含一个错误。

这是另一个例子:

G.DrawLine(0,0,200,200);G.DrawRect(0,0,200,200);G.Drawline(200,0,0,200);

该代码产生一个黑色概述的盒子和两个对角线。下一个代码仅产生一个对角线:

G.DrawLine(0,0,200,200);G.DrawRect(0,0,200,200);G.DrawLine(0,200,0,200);

同样,如果您希望看到两个对角线,那么第二件代码包含一个错误(请查看第二件代码,直到您了解出了什么问题)。这种错误可能需要很长时间才能找到,因为它是微妙的。

您将有足够的时间练习找到自己的错误。平均程序员花费了他或她的时间的一半,追踪,发现和消除虫子。尽量不要在发生时感到沮丧 - 它们是编程生活的正常组成部分。

特色