在eclipse中运行java代码如果出现错误没有具体的解决方案,比如在哪行出现什么错误

在eclipse中运行java代码如果出现错误没有具体的解决方案,比如在哪行出现什么错误doc命令中却会显示,哪行出错了,怎么解决如图。

因为你在ExceptionDemo2类的divisionmethod方法中抛出异常,所以在主函数中调用这个方法时需要用try-catch捕获异常,打印异常信息并做相应的处理.

完整的Java程序如下(改动的地方见注释)

class ExceptionDemo{

 public static void main(String[] args) {

  ExceptionDemo2 ED=new ExceptionDemo2();

  try{

   int sum=ED.divisionmethod(4,0);

   System.out.println(sum);

  }catch(Exception e){                //用try-catch捕获异常

   System.out.println("出现异常:"+e);//打印异常信息

   e.printStackTrace();            //打印完整的异常信息

  }

 }

}

class ExceptionDemo2{

 public int divisionmethod(int a,int b) throws Exception{

  return a/b;

 }

}

追问

这是用你的告诉我的捕获处理方式。

可还是没有像doc一样报出具体位置,哪里错了的中文显示,不知道会不会是eclipse不支持中文。

doc因为环境比较高级所以能显示出来。

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-09-20
Eclipse不是告诉你哪行编译出错了,你把鼠标放到出错的地方,按一下Ctrl+1,会出现快速解决的选项。
第2个回答  2018-09-20
每个IDE都要自己擅长的地方,这种情况我一般的做法有两种:
1、加异常捕获,通过输出错误信息来判断,错误信息中提示的行的位置,应该就在错误代码附近;
2、通过IDE工具,就是直接通过输出错误窗口句判断,再加上IDE工具的提示。
其实,你编码久了,有些问题都是自己写代码疏忽造成的,一般一眼都能看到,若看不到的问题,也是短时间可能无法解决的问题。比如自己的对用法的掌握还不够,或是运行环境问题等等。
希望以上对你有帮助追问

可能是我提问标点符号没有打好,导致你们读问题读错意思了,不过谢谢,我知道需要去捕获,如果不捕获的就抛出,后面我是写了捕获的,但还是不会显示具体行号,我说的是doc的提示比较清楚一些,而ide的显示不清楚。

你可以看看我那二张图片同一段代码运行,在控制台输出的提示,明显没有doc里面提示的全呢。

你看doc告诉你要么就声明,要么就捕获,还告诉你是4/0不允许,然后还告诉你第几行,eclipse就没有显示的这样清楚。

第3个回答  2018-09-18
很明显是第6行,一个大红线,和大红叉,我这种不会的人都知道追问

大哥我怎么会不知道,你还不如下面那位大哥的回答,你看清楚问题了没有,我是说为什么会有这种差别不是说这是什么错误,不会就不要回答。

追答

怎么没写,unresolved compilation problem 未解析的编译错误
unhandled exception type exception,存在需要强制处理的异常
at ExceptionDemo.main(ExceptionDemo.java 6) 在ExceptionDemo.java 第6行

追问

没有doc的全好吧,doc直接告诉你4/0这行错误,要么在主方法声明要么捕获,eclipse只告诉你是什么错误,没有告诉你具体解决办法。

追答

感觉可以在at ExceptionDemo.main(ExceptionDemo.java 6) 这里点一下,应该就会链接到对应的 int sum = ED.divisionmethod(0,4); 了,颜色都和别的不一样。查了下eclipse,把鼠标放到红叉上会提示修改方法

追问

没错我在at ExceptionDemo.main(ExceptionDemo.java 6) 点击一下的确会跳转到具体代码块,然后到sum=ed.divisionmethod这里他还会告诉你不能4/0,但是没有告诉你主函数继续声明,或者是捕获这个异常进行处理,你看一下我那二张图的报错结果哪个更简单明了,还有下你下面那位敲了很多代码的哥们我和他的交流。

我不是说为什么报错也不是说不知道怎么定位报错的地方,而是说eclipse的窗口报错信息不完整,而doc的完整很多,网上查了一些说doc和eclipse控制台的运行结果不一致是因为eclipse控制台采用的是多线程,还有eclipse对中文支持不是很好,cmd就不一样了。

相似回答