gpt4 book ai didi

java - Java中抛出异常的顺序

转载 作者:行者123 更新时间:2023-11-30 06:55:39 24 4
gpt4 key购买 nike

我正在编写将文件读入 Java 的代码。

我有一个抛出三个异常的主要方法。我想知道如果我在 public static void main(String[] args) 的同一行中改变编写异常的顺序会有什么影响。

public class SwitchTester {

private static Scanner pathInput;

public static void main(String[] args) throws IOException, NoSuchElementException, IllegalStateException{

我在 main 方法中使用代码。我在这段代码中使用的异常顺序是IOException、NoSuchElementException、IllegalStateException。在主线上保持相同的顺序会很重要吗?将 throws 保留在主线上是否重要?

    try{         
pathInput = new Scanner(path);
}catch(IOException ioException){
System.err.println("Error opening file. Terminating.");
System.exit(1);
}

System.out.printf("%-10s%-15s%-15s%10s%n", "Port", "Destination",
"Source", "Data-type");

//readRecords
try{
while(pathInput.hasNext()){ //while there is more to read, display record contents
System.out.printf("%-10s%-15s%-15s%10s%n", pathInput.next(),
pathInput.next(), pathInput.next(), pathInput.next());
}
}catch(NoSuchElementException elementException){
System.err.println("File improperly formed. Terminating.");
}catch(IllegalStateException stateException){
System.err.println("Error reading from file. Terminating.");
}

非常感谢您的回答!谢谢!

最佳答案

异常在方法声明的throws 子句中列出的顺序完全无关紧要。它绝对与您在代码中抛出异常的位置没有任何关系。

假设这是一个仅从 JVM 调用的 main 方法,并且您的代码实际上都没有调用此方法,这一次最好不要打字并编写 throws Exception。 (另一方面,如果您重构 main 方法以便它调用处理不同函数的单独方法,那么您会希望这些方法更能描述它们抛出的检查异常。)

关于java - Java中抛出异常的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35071533/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com