-1

我有一个 Java 程序,我从不同的来源获取数据。有时在阅读时我看到异常并且程序正在退出。我的是一个每 10 分钟运行一次的程序。

Public static void main(Strings[] args)
{
...readsource();
}

Private static void readsource() throws IOException
{
...
}

问题:我能够获取/查看异常。但是我希望程序继续下去 最好的逻辑是什么?我没有看到 try-catch-finally 也没有解决..我希望程序即使在看到异常之后也能继续(我的意思是下一次迭代应该继续)。这看起来是一个基本问题,不知道如何解决这个问题......

4

4 回答 4

2

然后您需要捕获当前未执行的异常。

try  {
    readsource();
} catch (IOException e) {
   // do something, never catch an exception and not do anything
}

//continue.

请注意,异常通常表明有问题。除非你打算对异常做点什么,否则修复导致异常的条件可能会更好......

于 2012-08-20T21:09:02.710 回答
1

您必须在方法中提供错误处理程序,即用 try-catch 块包围对 readsource() 的调用。

   public static void main(Strings[] args)
   {
      try{
         ...readsource();
      }
      catch(IOException ioe){
           //handle the error here,e.g don't do anything or simply log it
      }
    }
于 2012-08-20T21:11:32.357 回答
1

如果您不在 catch 块中重新抛出异常,则执行将脱离 catch 块的末尾并继续执行,就好像没有异常一样。

于 2012-08-20T21:16:14.847 回答
1

如果你的意思是你想回忆一下抛出异常的方法,或者不只是把它放在一个while循环中,即:

Public static void main(Strings[] args)
{
    boolean run=true;
    while(run) {
    try {
            System.out.print("Hello,");
            readsource();
            throw new IOException();
            if(1==2)run=false;//stop the loop for whatever condition
        } catch(IOException ioe) {
            ioe.printStackTrace();
        }
        System.out.println(" world!");
    }
   }

}

Private static void readsource() throws IOException
{
...
}
于 2012-08-20T21:21:52.710 回答