Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 主线程中出现异常,Netbeans中没有错误_Java_Netbeans - Fatal编程技术网

Java 主线程中出现异常,Netbeans中没有错误

Java 主线程中出现异常,Netbeans中没有错误,java,netbeans,Java,Netbeans,在我的程序中进行更改后,此错误随机开始。Netbeans没有显示任何错误 我在Netbeans 8.2中遇到过随机错误,通常是通过删除缓存来解决的,但是我删除了缓存,重新启动了Netbeans,仍然得到相同的错误 我进行了一次清洁和修造,但没有结果 程序运行了。我仍然可以编译它并在另一台机器上运行,但Netbeans一直给我这个错误: Exception in thread "main" java.lang.NullPointerException at rss.RSSFeedParser.ma

在我的程序中进行更改后,此错误随机开始。Netbeans没有显示任何错误

我在Netbeans 8.2中遇到过随机错误,通常是通过删除缓存来解决的,但是我删除了缓存,重新启动了Netbeans,仍然得到相同的错误

我进行了一次清洁和修造,但没有结果

程序运行了。我仍然可以编译它并在另一台机器上运行,但Netbeans一直给我这个错误:

Exception in thread "main" java.lang.NullPointerException
at rss.RSSFeedParser.main(RSSFeedParser.java:157)
....\NetBeans\Cache\8.2\executor-snippets  \run.xml:53: Java returned: 1
BUILD FAILED (total time: 3 seconds)
run.xml第53行

<java classpath="${classpath-translated}" classname="${classname}" dir="${work.dir}" jvm="${platform.java}" fork="true" failonerror="${java.failonerror}">
更新: 我在试捕时捕捉到一个数字形式的异常。Netbeans在此之前没有抛出任何错误,直到突然之间。我把它改成了例外。该程序运行良好,但Netbeans建议将其改回NumberFormatException。这里有什么?我认为只要捕获了所需的异常,就不会有问题


请参阅附加的屏幕截图

您发布的stacktrace显示RSSFeedParser.java文件的第157行有错误。您的IDE没有将这一行突出显示为错误,因为您的代码没有任何语法或编译时问题

String[] split = msEndpoint.getTcpPorts().split(",");
该代码的有效性在于它将被编译,因为String对象的splitString方法返回字符串数组等

实际出现的问题是msEndpoint为null,或者msEndpoint.getTcpPorts返回null,因此java最终尝试调用null上的方法,然后抛出NullPointerException。更多关于这个

您的IDE可能无法在程序运行之前找出程序运行时可能抛出的所有错误。但它可以显示编译时错误。更多关于差异的信息

请尝试打印msEndpoint的值,然后打印字符串[]split=..上方的msEndpoint.gettcport的值。。。。。行:


查看其中哪一个的值为null。

它清楚地表明RSSFeedParser中存在问题。java:157,它意味着检查RSSFeedParser.java类的第157行。请参阅屏幕截图。该程序中没有错误。请尝试了解编译错误和异常之间的关系。异常发生在运行时,这意味着当您运行程序时。在该行中,msEndPoint或msEndPoint.getTCPPorts均不为null。运行时,打印这些值。您将获得解决方案。当您更改catch块以捕获异常时,您将捕获作为异常实例的任何错误,其中包括NullPointerException您将获得的实际错误。当您刚刚捕获NumberFormatException时,NullPointerException将被抛出到try块中的某个位置,而catch块将不会捕获它,因为catch只应捕获NumberFormatException。
if(...) {
   try {
      System.out.println(msEndpoint);
      System.out.println(msEndpoint.getTcpPorts());
      String[] split = msEndpoint.getTcpPorts.split(",");
      ...
   }
}