当前位置: 首页 > 知识库问答 >
问题:

Java PrintStackTrace总是指向导致行号最外层try,这是预期的行为吗?[副本]

江瀚昂
2023-03-14
public class ThrowDemo {

    public static void catchAndThrowNullPointerException() {
        try {
            throw new NullPointerException();   // Line Number 7
        }
        catch(NullPointerException npe) {
            System.out.println("NPE thrown");
            try {
                throw npe;
            }
            catch(Exception ex) {
                System.out.println("Exception thrown inside nested try.");
                throw ex;                 // Line 16
            }
        }
    }

    public static void main(String args[]) {
        catchAndThrowNullPointerException();
    }

}

运行时,提供以下输出:

    NPE thrown
Exception thrown inside nested try.
Exception in thread "main" java.lang.NullPointerException
    at exception.handling.ThrowDemo.catchAndThrowNullPointerException(ThrowDemo.java:7)
    at exception.handling.ThrowDemo.main(ThrowDemo.java:22)

提前道谢。

共有1个答案

许华清
2023-03-14

Public interface B extends A用于向java类添加更多的方法(或行为)。

公共接口B实现a在java中不是有效的代码,因为您不能通过实现另一个接口来创建接口。实现接口时,需要在所有声明的方法中编写相关代码。一旦在方法内部编写代码,就不能再将其命名为接口,因为接口只包含方法签名。

 类似资料:
  • 问题内容: 我注意到了一些意外的行为(相对于我的个人期望而言是意外的),我想知道是否是JVM中存在错误,或者这可能是一种边缘情况,在这种情况下我不了解某些确切的细节应该发生。假设我们自己在main方法中具有以下代码: 天真的期望是这样会印刷,最大的甚至可以代表。但是,我认为整数算术应该在Java中“翻转”,因此将1加到会导致。由于仍小于,因此循环将循环遍历负数甚至整数。最终它将回到0,并且此过程应

  • 当我更改列表中的选择时,对话框会更新,读取与列表中的项目相关联的文件。我使用下面代码中的语句修复了该问题。 如果我不使用上面的语句,它的命中或失败。有时它从文件中读取内容并显示它们,否则会引发异常。 System.io.IOException:“进程无法访问文件”D:\EClone\bin\debug\netcoreApp3.1\3.rtf“,因为另一个进程正在使用该文件。”

  • 在这个问题的启发下,我写出了测试题: 本程序以普通大小写形式打印: 首先:我解释这种行为是JIT编译器的存在。“预热”后,每个线程的JIT编译器缓存值非字段。对吧? 第二:如果先对或不对,我如何验证这一点? 附注。-我知道打印-选项。 更新:enviroment:Windows 7 64bit,JDK 1.7.0_40-b43(热点)。

  • 我在Spring Boot项目中使用Resilience4J调用REST客户机,如下所示: 看到示例中包含了一个回退方法,我决定添加它,尽管我并不真的想调用不同的方法,我只想再次调用我的原始方法。 不管怎样,我指定了一个回落: 现在,我看到回退方法被重试,但是每次都会抛出HttpServerErrorException,这意味着使用者将收到一个异常作为对其调用的响应。 谢谢

  • 问题内容: 下面的函数从sharedpreferences中获取两个值,体重和身高,我用它们来计算BMI,当我打印这些值的内容时,我得到了我在sharedprefs中输入的值(很好),但是当我运行时对它们进行除法运算后,结果总是为0。错误在哪里? 问题答案: 你正在执行整数除法。 你需要将一个操作数强制转换为。