我用1次try和2个catch创建了这个类,第一个检查值是否正确,第二个我希望它在输入中检查值是否为int,否则它将在catch中引发异常。我正在处理Eclipse,IOException将其标记为错误,为什么?
class eccez {
public eccez() {
int a = 15;
int s = 0;
int risultato = 0;
System.out.println("Inserisci valore divisore");
try (Scanner input = new Scanner(System.in)) {
s = input.nextInt();
risultato = a / s;
} catch(ArithmeticException y) {
System.out.println("trovato errore aritmetico");
return;
} catch(IOException x) {
System.out.println("trovato errore");
return;
}
System.out.println("Risultato " + risultato);
}
}
您有此问题,因为您的代码未抛出IOException
。检查对于编译器正确的此代码段:
try {
int a = 0;
if (a == 0)
throw new ArithmeticException();
if (a == 1)
throw new IOException();
} catch(ArithmeticException y) {
System.out.println("trovato errore aritmetico");
} catch(IOException x) {
System.out.println("trovato errore");
}
您忘记了导入IOException
。您的进口应如下:
import java.io.IOException;
import java.util.Scanner;