为什么我看不到在Android中抛出运行时异常的方法?或者它在那里,我不明白如何读取堆栈跟踪?在Flash中,很容易看出引发错误的位置。在Android中,这并不容易。也许是因为它抛出了不同的线程。我不知道。附有风景。你能看到堆栈跟踪中抛出错误的位置吗?
答案 0 :(得分:4)
问题是你还没有让堆栈跟踪“展开”出来。抛出异常时,您必须继续单步执行,直到您看到LogCat中出现异常(您应该可以在默认的Debug视图中看到异常)。
例如,这是我的代码:
public class HelloAndroid extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
throw new RuntimeException("Exception");
//setContentView(R.layout.main);
}
}
当异常最终一直抛到堆栈时,我终于会在LogCat窗口中看到这个:
如果查看此处,可以在堆栈跟踪的顶部看到抛出的异常。但是,这并没有告诉你很多(除了发生了什么)。在LogCat窗口的底部,您可以看到实际原因是什么(一旦整个异常展开,您将看到)。在这种特殊情况下,它发生在我的HelloAndroid.onCreate()方法中(我选择了它)。双击此行时,您将看到代码以及实际发生异常的位置。
答案 1 :(得分:1)
我从未使用过调试模式,但我使用的是LogCat View。你可以在
中激活它窗口 - >显示视图 - >其他 - > Android - > logcat中。
如果抛出异常,日志会以红色显示。根据我的经验,真正的问题永远不会出现在异常的开头,它出现在行
之后“引起”
在那里,您将看到代码中的哪一行生成了异常,并且只需双击即可到达那里。
答案 2 :(得分:0)
调试堆栈跟踪模式不显示它。 Logcat可能。