0

例如,通过BufferedReader不处理错误从终端读取行

    BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
    try{            
        String input = input.readLine();
    }
    catch(Exception e){
    // Do Noting
    }

不处理 IOException 是一个错误吗?如果是错误,是逻辑错误还是运行时错误?为什么?

4

1 回答 1

0

从评论中的澄清来看,它是:

  1. 语言错误

String input面具访问- 但也许这BufferedReader input只是这个帖子中的一个错误

  1. 几个逻辑错误

错误是(1)由于变量超出范围,无法对成功输入进行任何操作,(2)缺乏对用户无效输入的反馈,并且可能(3)缺乏可见的重试程序中止由于错误,我猜应该会发生其中一个错误,并且也许(4)从描述中它可能应该只处理 IOException 时悄悄地吃掉所有异常,以及(5)没有实现拒绝整数的代码,如所声称的要求说 - 数字也是字符。

  1. 运行时错误

读取行失败readline是在运行时发生的事件,在任何给定的执行中可能会发生也可能不会发生。


换句话说,逻辑错误是未能充分预测和处理可能的运行时错误。

于 2020-10-31T20:05:50.423 回答