Java 如何只允许一定数量的io异常?
我想知道是否有一个好的标准方法,在你停止尝试之前,只允许一定数量的IO异常(连接超时等),或者发送一封自动电子邮件,让别人知道有问题。我可以想出一个丑陋的方法,用一个try-catch块保存一个计数器,并在尝试之前检查该计数器的值。有没有更标准更好的方法来实现这一点?只需创建一个充当计数器的ìnt`变量:Java 如何只允许一定数量的io异常?,java,ioexception,Java,Ioexception,我想知道是否有一个好的标准方法,在你停止尝试之前,只允许一定数量的IO异常(连接超时等),或者发送一封自动电子邮件,让别人知道有问题。我可以想出一个丑陋的方法,用一个try-catch块保存一个计数器,并在尝试之前检查该计数器的值。有没有更标准更好的方法来实现这一点?只需创建一个充当计数器的ìnt`变量: int counter = 0; while (true){ try{ // do something break; } catch (IOEx
int counter = 0;
while (true){
try{
// do something
break;
} catch (IOException e) {
e.printStackTrace();
counter++;
if (counter >= 10)
throw new RuntimeException(e);
}
}
它将捕获异常,打印stacktrace,并且仅当计数器超过10时才重新显示异常。由于以下几个原因,电子邮件发送部分将更加困难:
- 你需要一个图书馆来发送电子邮件(AFAIK)
- 您需要配置电子邮件服务器
- 您需要针对服务器进行身份验证(用户需要提供密码,或者您需要硬编码密码-->错误做法)
- IOException的一个可能原因可能是计算机未连接到internet。在这种情况下,发送电子邮件也会失败
Runnable
,则可以使代码更加抽象