gpt4 book ai didi

java - 抛出运行时异常之前的控制台输出

转载 作者:行者123 更新时间:2023-12-01 18:05:21 29 4
gpt4 key购买 nike

我们有两个相似的代码,它们都会导致 RunTimeException。但是,其中一段代码将打印出结果+异常,而另一段代码仅抛出异常而没有结果,直到抛出异常为止。您可以在这里看到两个代码块,其中一个已被注释掉:

第一种情况:

public class ExceptionTest {

public static void main(String[] args) {
String letters = "abcdef";

System.out.println(letters.length());
System.out.println(letters.charAt(3));
System.out.println(letters.charAt(6));

}
}

第二种情况:

public class ExceptionTest {

public static void main(String[] args) {
int total = 0;
StringBuilder letters = new StringBuilder ("abcdefgh");
total += letters.substring(1, 2).length();
total += letters.substring(6, 6).length();
total += letters.substring(6, 5).length();

System.out.println(total);

}
}

任何人都可以解释为什么它只会打印 RuntimeException 而不会将结果包含在注释的代码块中吗?

最佳答案

输出来自System.out.println()。在注释掉的版本中,我认为异常是由 substring(6,5) 引起的,并且出现在 println() 之前。

关于java - 抛出运行时异常之前的控制台输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60567118/

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