相关疑难解决方法(0)

什么是堆栈跟踪,如何使用它来调试应用程序错误?

有时,当我运行我的应用程序时,它会给我一个错误,如下所示:

Exception in thread "main" java.lang.NullPointerException
        at com.example.myproject.Book.getTitle(Book.java:16)
        at com.example.myproject.Author.getBookTitles(Author.java:25)
        at com.example.myproject.Bootstrap.main(Bootstrap.java:14)
Run Code Online (Sandbox Code Playgroud)

人们将此称为"堆栈跟踪".什么是堆栈跟踪?有什么能告诉我程序中发生的错误?


关于这个问题 - 我经常看到一个问题,一个新手程序员"得到一个错误",他们只是粘贴他们的堆栈跟踪和一些随机的代码块,而不了解堆栈跟踪是什么或如何使用它.这个问题旨在作为新手程序员的参考,他们可能需要帮助来理解堆栈跟踪的价值.

java debugging stack-trace

622
推荐指数
7
解决办法
38万
查看次数

在 Java 中传递参数而不会出现 stackoverflow 错误

目前我正在努力解决一个小问题,我猜。执行我的主要方法时,我收到一个计算器溢出错误。这是因为 Artist 类在 Language 类中创建了一个实例来访问来自 Artist 类(方法)的一些参数。您对我如何根据当前设置设置构造有任何建议吗?

有五个类相互交互:

第一类是带有主要方法的概览类。她应该创建我的控件类的一个实例并执行方法 control.displayArtist(salary, name):

public class Overview {
    private static Control control;
    private static String name;
    private static int salary;
    

public static void main (String[]args) {
        control = new Control();
        control.displayArtist(salary, name);
        
    }
}

Run Code Online (Sandbox Code Playgroud)

第二个类是 Control 类。类 Control 创建类 Language 的实例,并由方法 displayArtist(int salary, String name) 组成。这个方法是在Overview类的main方法中直接调用的:

public class Control {

    private Language language;


public Control() {
    language = new Language();
    
}

public void displayArtist(int salary, String name) {
    language.displayArtistAndSalary(name, salary);
}

}

Run Code Online (Sandbox Code Playgroud)

Language …

java

-1
推荐指数
1
解决办法
69
查看次数

标签 统计

java ×2

debugging ×1

stack-trace ×1