运行一个简单的程序,提示异常终止,开了DDMS看,就得到下面这些log信息,看不出什么名堂来,[2010-11-18 10:53:59 - UITest_01] ------------------------------
[2010-11-18 10:53:59 - UITest_01] Android Launch!
[2010-11-18 10:53:59 - UITest_01] adb is running normally.
[2010-11-18 10:53:59 - UITest_01] Performing yjm.UITest_01.UITest_01 activity launch
[2010-11-18 10:53:59 - UITest_01] Automatic Target Mode: Preferred AVD 'AVD22' is available on emulator 'emulator-5554'
[2010-11-18 10:53:59 - UITest_01] WARNING: Application does not specify an API level requirement!
[2010-11-18 10:53:59 - UITest_01] Device API version is 8 (Android 2.2)
[2010-11-18 10:53:59 - UITest_01] Uploading UITest_01.apk onto device 'emulator-5554'
[2010-11-18 10:53:59 - UITest_01] Installing UITest_01.apk...
[2010-11-18 10:54:06 - UITest_01] Success!
[2010-11-18 10:54:06 - UITest_01] Starting activity com.UITest_01.UITest_01 on device
[2010-11-18 10:54:08 - UITest_01] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.UITest_01/.UITest_01 }
大家说说你们都是怎么捕捉程序的异常的啊?
[2010-11-18 10:53:59 - UITest_01] Android Launch!
[2010-11-18 10:53:59 - UITest_01] adb is running normally.
[2010-11-18 10:53:59 - UITest_01] Performing yjm.UITest_01.UITest_01 activity launch
[2010-11-18 10:53:59 - UITest_01] Automatic Target Mode: Preferred AVD 'AVD22' is available on emulator 'emulator-5554'
[2010-11-18 10:53:59 - UITest_01] WARNING: Application does not specify an API level requirement!
[2010-11-18 10:53:59 - UITest_01] Device API version is 8 (Android 2.2)
[2010-11-18 10:53:59 - UITest_01] Uploading UITest_01.apk onto device 'emulator-5554'
[2010-11-18 10:53:59 - UITest_01] Installing UITest_01.apk...
[2010-11-18 10:54:06 - UITest_01] Success!
[2010-11-18 10:54:06 - UITest_01] Starting activity com.UITest_01.UITest_01 on device
[2010-11-18 10:54:08 - UITest_01] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.UITest_01/.UITest_01 }
大家说说你们都是怎么捕捉程序的异常的啊?
我一般都在会抛异常的地方try catch一下
我也做了,但是程序在模拟器里面提示是异常终止了,也没有异常信息,看log这里也是是看不出错在哪,不知道怎么才能捕捉到异常,不然都不知道怎么调试改错了。
从异常的堆栈信息上可以看到自定义类中出错的行号。
import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.widget.TextView;
import android.widget.EditText;public class UITest_01 extends Activity {
/** Called when the activity is first created. */
private TextView myTextView01;
private EditText myEditText01;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
try {
myTextView01 = (TextView) findViewById(R.id.myTextView01);
myEditText01 = (EditText) findViewById(R.id.myEditText01);
myEditText01.setOnKeyListener(new EditText.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
myTextView01.setText(myEditText01.getText().toString());
return false;
}
});
}
catch(Exception e) {
myTextView01.setText("Exception message: "+e);
} }
}代码就是这样,简单的功能,2.2上运行。