正确使用LogCat和try / catch块

时间:2012-01-03 15:31:19

标签: android

我正在尝试使用LogCat来调试一个读取res文件夹中的XML文件的简单应用程序。

我在Eclipse LogCat窗口中一直收到此错误:

01-03 10:21:30.741: W/dalvikvm(356): threadid=1: thread exiting with uncaught exception (group=0x40014760)
E/AndroidRuntime(356): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{tot.HelloAndroid/tot.HelloAndroid.HelloAndroid}: java.lang.NullPointerException: println needs a message

这似乎对我没有帮助。我正在使用这样的try / catch块。这看起来不错吗?

public XmlParser() throws XmlPullParserException, IOException {

  try {
    XmlPullParser xpp = getResources().getXml(R.xml.encounters);
    // ...do stuff...
  } catch (Exception e) {
    Log.e("error", e.getMessage());
  }

  //...

1 个答案:

答案 0 :(得分:2)

如果错误消息为null(如果未设置错误消息,则可能是这种情况),您尝试不打印任何内容,只需使用一个简单的修复

Log.e("error",""+e.getMessage()); //or "error message: "+e.getMessage();, or whatever you want.

Log.e("error", String.valueOf(e.getMessage()));

您可能还想致电e.printStackTrace()以获取更详细的信息。