Java 有什么办法可以让我试着做一个拦网吗?

Java 有什么办法可以让我试着做一个拦网吗?,java,error-handling,try-catch,Java,Error Handling,Try Catch,我正在使用ApachePOI尝试读取word文件,但即使您使用过ApachePOI,也应该对此负责。在HWPF.extractor包中有两个对象,WordExtractor和Word6Extractor,后者是旧Microsoft Word格式的文本提取器。我正在尝试使用try-catch语句来尝试WordExtractor对象。然后,如果抛出错误,它应该在抛出异常之前尝试Word6Extractor 我已经试过了: try{ WordExtractor example = new Wo

我正在使用ApachePOI尝试读取word文件,但即使您使用过ApachePOI,也应该对此负责。在HWPF.extractor包中有两个对象,WordExtractor和Word6Extractor,后者是旧Microsoft Word格式的文本提取器。我正在尝试使用try-catch语句来尝试WordExtractor对象。然后,如果抛出错误,它应该在抛出异常之前尝试Word6Extractor

我已经试过了:

try{
    WordExtractor example = new WordExtractor(...);
} try{
    Word6Extractor example = new Word6Extractor(...);
} catch(Exception e)
{
    //code to alert user to bad file type
}

如果你还有什么需要知道的,告诉我,我会尽力提供的

我认为你的代码唯一的错误就是语法!尽管将异常用于控制流非常混乱,通常这是一种糟糕的编码实践(或者我已经学过),但我确实认为这应该起到作用:

try{
  WordExtractor example = new WordExtractor(...);
} catch (Exception e){

  // If there is an exception thrown, we run the next block of code
  try 
  {
    Word6Extractor example = new Word6Extractor(...);
  } catch(Exception e)
  {
    //code to alert user to bad file type
  }

}

希望这能把事情弄清楚

把它放在catch块中?你的代码不会按照你描述的方式工作,即使它是合法的,但事实并非如此,而且你可以在30秒内自行决定。不要只是发明不存在的语法。编写程序。@EJP我不是在发明不存在的语法,我是在问如何正确执行我想做的事情。没有必要写你那粗鲁的评论,信不信由你,我正在写一个程序(一个几乎有3000行代码的程序)。我只是不习惯使用错误处理。你知道我想过这样做,但在我的脑海里,它似乎不能满足我的要求,但阅读代码使它看起来不同,我意识到这正是我所需要的!非常感谢。我也同意控制流的观点,但我认为在这种情况下,这可能是最好的方法。