给出了一个示例程序,其中声明了 IOException 但未处理。throws
使用关键字而不使用的原因是什么try/catch
?
阅读此处和此处的例外情况。我知道有已处理和未处理的异常,但在这种情况下, IOException 只是一个检查异常。那么为什么不需要处理。
在一个例子中“在方法签名中描述”就足够了吗?
public class TinyEdit {
public static void main(String[] args) throws IOException{
// создать поток ввода типа BufferedReader,
// используя стандартный поток ввода System.in
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
String str[] = new String[100];
System.out.println("Введите строки текста.");
System.out.println("Введите 'стоп' для завершения.");
for(int i=0; i<100; i++) {
str[i] = br.readLine();
if(str[i].equals("стоп")) break;
}
System.out.println("\n Содержимое вашего файла:");
// вывести текстовые строки
for(int i=0; i<100; i++) {
if(str[i].equals("стоп")) break;
System.out.println(str[i]);
}
}
}
在方法签名中使用关键字
throws
表示方法本身不处理在 之后指定的异常throws
,但可以抛出它们,并且由调用代码负责处理它们。如果你想让方法的调用者在代码中处理异常,那么声明一个异常就足够
throws
了,否则就需要捕获异常,必须用try/catch
.