android - 找不到错误安卓

标签 android logging

我有以下代码:

Log.e("MainScreen", "1");  
ListAction listAction = new ListAction(this);
Log.e("MainScreen", "2");

代码只运行到遇到 Log.e("MainScreen", "1")。然后它崩溃了。但是,我不知道这是怎么可能的,因为程序永远不会到达 ListAction 构造函数的第一行 (Log.e("ListAction", "1");) 此外,当我删除 ListAction listAction 行时,它会很好。

和提到的构造函数:

public ListAction(Context context) {
    Log.e("ListAction", "1");
    this.db = new DataBaseCreation(context);
    Log.e("ListAction", "2");
    db.open();
    Log.e("ListAction", "3");
    this.bdd = db.getBDD();
    Log.e("ListAction", "4");

运行代码时不会发布任何日志。

什么给了?有什么问题?

输出:

03-26 03:54:54.680: E/MainScreen(534): 1

03-26 03:54:54.680: D/AndroidRuntime(534): Shutting down VM
03-26 03:54:54.690: W/dalvikvm(534): threadid=1: thread exiting with uncaught exception (group=0x409c01f8)
03-26 03:54:54.721: E/AndroidRuntime(534): FATAL EXCEPTION: main
03-26 03:54:54.721: E/AndroidRuntime(534): java.lang.RuntimeException: Unable to start activity ComponentInfo{android.GroceryListManager/android.GroceryListManager.MainScreen}: java.lang.NullPointerException
03-26 03:54:54.721: E/AndroidRuntime(534):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)

最佳答案

如果类 ListAction 中有任何带有初始化器的实例变量,初始化器将在构造函数的第一行之前执行。例如,您的类(class)可能如下所示:

public class ListAction {
    public ListAction(Context context) {
        . . .
    }

    private Thing mThing = new Thing();
}

如果其中一个初始化程序(如 new Thing())引发异常,将产生您描述的行为。如果您发布崩溃的 logcat 输出,将会有所帮助。

关于android - 找不到错误安卓,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9866269/

相关文章:

android - AppCompat Snackbar 不以平板电脑为中心

java - 运行 Android 应用程序两次才能工作,为什么?

python - Google Stackdriver 使用 Redis 队列登录 App Engine (Python)

java - log4j 找不到根记录器信息。这个可以吗

c# - ULS 登录 sharepoint 2007

android - FragmentManager IndexOutOfBoundsException 无法恢复 Activity 崩溃

java - 为什么我的 AsyncTask 中会出现这个 ClassCastException?

android - 顶级异常 - Android Studio

MySQL服务器全局错误日志

php - MySQL 插入语句队列