写JSP程序时的错误集合(保持更新中)

一、调用DATA包出错

 

<% @ import = " java.util.*,java.lang.Math,javax.naming.*,java.sql.* "  errorPage = "" %>
/*在调用DATA包的时候出错
 对 Date 的引用不明确,java.sql 中的 类 java.sql.Date 和 java.util 中的 类 java.util.Date 都匹配
 将原来的Date myDate = new Date();
改成
*/

  
 
< td >   <%  java.util.Date myDate  =   new  java.util.Date();
      
int  thisYear  =  myDate.getYear()  +   1900 ;
      
int  thisMonth  =  myDate.getMonth()  +   1
      
int  thisDate  =  myDate.getDate();
     out.println(thisYear
+ " "   +  thisMonth + " " + thisDate + " " );
  
%> td >  

 

"Test1.java": class Test2 is public; should be declared in a file named Test2.java at line 3, column 1

错误解释:
"Test1.java": 类Test2是公共类,应该在名为Test2.java的文件中被宣告  3行1列处

解决方案:
1、修改类名或文件名,保证两者一致

//

错误提示:
"Test1.java": cannot resolve symbol: class Connection in class com.he.Test1 at line 5, column 5

错误解释:
"Test1.java": 不能识别的标志(类):在类com.he.Test1中的类Connection  5行5列处

可能原因:
1、没有引包,如java.sql.*
2、Connection类名拼写错误

//

错误提示:
"Test1.java": incompatible types;found   : int,required: java.lang.String at line 6, column 16


错误解释:
"Test1.java": 数据类型矛盾;发现:int,要求:String   6行16列处

可能原因:
1、声明类型与赋值类型不一致
2、方法声明的返回类型与实际的返回类型不一致
3、所调用方法的返回类型与方法调用处的接受变量类型不一致

//

错误提示:
"Test1.java": cannot resolve symbol: variable a1 in class com.he.Test1 at line 7, column 24


错误解释:
"Test1.java": 不能识别的标志(变量):在类com.he.Test1中的变量a1   7行24列处

可能原因:
1、变量未声明
2、变量名拼写错误
3、在声明的范围之外使用变量,如{}之外

//

错误提示:
"Test1.java": cannot resolve symbol: method parserInt (java.lang.String)in class java.lang.Integer at line 9, column 21


错误解释:
"Test1.java": 不能识别的标志(方法):在类java.lang.Integer中的方法parserInt(java.lang.String)  9行21列处

可能原因:
1、方法名拼写错误
2、方法参数类型不匹配

//

错误提示:
"Test1.java": '}' expected at line 13, column 2


错误解释:
"Test1.java": 期望'}'  13行2列处

可能原因:
1、大括号不匹配

//

错误提示:
"Test1.java": unreported exception java.lang.ClassNotFoundException; must be caught or declared to be thrown at line 11, column 11


错误解释:
"Test1.java": 未报告的异常java.lang.ClassNotFoundException;必须被捕获或是被声明抛出  11行11列处

解决方案:
1、用try{}catch(){}捕获异常
2、在方法声明时用throws ...,... 声明该方法抛出异常

特别提示:
为便于程序调试时异常定位,强烈建议在进行异常捕获时打印堆栈信息( ex.printStactTrace() )

//

错误提示:
"Test1.java": non-static variable info cannot be referenced from a static context at line 17, column 24

错误解释:
"Test1.java": 非静态的变量info不能在静态上下文(环境)中引用  17行24列处

解决方案:
1、声明对象调用其静态变量
2、修改方法为非静态方法

//

错误提示:
"Test1.java": b is already defined in main(java.lang.String[]) at line 19, column 5

错误解释:
"Test1.java": (变量)b在(方法)main(java.lang.String[])中已经被定义  *行*列处

解决方案:
1、修改(变量)名称

//

错误提示:
"Test1.java": test() is already defined in com.he.Test1 at line 25, column 3

错误解释:
"Test1.java": (方法)test()在(类)com.he.Test1中已经被定义  *行*列处

解决方案:
1、修改(方法)名称
2、修改(方法)参数,即方法重载

//

错误提示:
"Test.java": Duplicate definition of class com.he.Test1, defined in D:/JavaStudy/TempPro/src/com/he/Test.java and also defined in D:/JavaStudy/TempPro/src/com/he/Test1.java.

错误解释:
"Test.java":重复定义了类com.he.Test1,在D:/JavaStudy/TempPro/src/com/he/Test.java与D:/JavaStudy/TempPro/src/com/he/Test1.java中都定义了

解决方案:
1、修改类名

特别提示:
如果修改后仍然提示该错,可以通过删除对应class文件来解决

//

错误提示:
"Test1.java": variable d might not have been initialized at line 22, column 22

错误解释:
"Test1.java":变量d可能还没有被初始化 *行*列处

可能原因:
1、在某种情况下,有可能使用没有被初始化的变量

特别提示:
[代码]
String a;
int x=1;
if(x>0) a="正数";
System.out.println(a);
[修改]
String a=null;
...

//

错误提示:
"Test1.java": unreachable statement at line 25, column 5

错误解释:
"Test1.java": 无法到达的语句   *行*列处

可能原因:
1、死循环导致其后的语句没有可能到达
2、return 语句导致其后的语句没有可能到达

特别提示:
[代码]
int a=1;
if(a>0) {return "正数";}
else {return "非正数";}  
//没有可能到达
a=0;

//

错误提示:
"Test1.java": missing return statement at line 29, column 23

错误解释:
"Test1.java": (方法)缺失return语句   *行*列处

解决方案:
1、1、确保(方法)在所有可能下都有return语句,如果声明时不是void

//

错误提示:
"Test1.java": Package D:/JavaStudy/TempPro/src/com/he/Test1.java stated in source com.he1 does not match directory D:/JavaStudy/TempPro/src/com/he/Test1.java. at line 1, column 13

错误解释:
"Test1.java": 类的包声明(package ...)与类实际所处包路径不匹配   *行*列处

解决方案:
1、修改包声明,确保与类实际所处包路径一致

//

错误提示:
"Test1.java": expected at line 3, column 14

错误解释:
"Test1.java": 期望标志符  *行*列处

可能原因:
1、标志符不可法,如类名用数字开头

//

错误提示:
"Test1.java": call to super must be first statement in constructor at line 6, column 10

错误解释:
"Test1.java": 在构造函数中调用父类构造函数super(...)必须位于第一句  *行*列处

解决方案:
1、将语句super(...)位于第一句

//

错误提示:
"Test1.java": 'try' without 'catch' or 'finally' at line 20, column 5

错误解释:
"Test1.java": 'try'缺失'catch' 或 'finally'   *行*列处

解决方案:
1、'try'必须与'catch'和'finally'两者中至少其一进行搭配使用

//

错误提示:
"Test1.java": illegal character: /65307 at line 4, column 12

错误解释:
"Test1.java": 非法字符   *行*列处

可能原因:
1、使用了中文的符号,如括号,逗号,分号,冒号等

//

错误提示:
"Test1.java": reference to Date is ambiguous; both class java.sql.Date in java.sql and class java.util.Date in java.util match at line 6, column 9

错误解释:
"Test1.java": 对(类)Date的引用不明确;包java.sql中的类java.sql.Date与包java.util中的类java.util.Date都与之相配(即两个包中都有该类)    *行*列处

解决方案:
1、声明或实例化时使用类全名(即包名+类名),如 java.util.Date d = new java.util.Date();

//

错误提示:
"Test1.java": cannot resolve symbol: constructor Integer ()in class java.lang.Integer at line 6, column 17

错误解释:
"Test1.java": 不能识别的标志(构造函数):类java.lang.Integer中的构造函数Integer()   *行*列处

可能原因:
1、调用构造函数时的参数与其原始定义不一致

//


你可能感兴趣的:(JAVA,语言,jsp,class,constructor,integer,string,character)