我對此有疑問,例如,在一個Java類的主要方法,下面我有一些代碼:在另一個線程中拋出的異常會使主線程崩潰嗎?
public static void main(String[] args) {
new Thread(new Runnable() {
@Override
public void run() {
throw new IllegalStateException("sss");
}
}).start();
try {
Thread.sleep(2000);
} catch (Exception e) {
}
System.out.println("xxx");
}
這IllegalStateException異常不會停止執行的主要方法,我可以看到我打印「 XXX」。
但是,在Android開發中,如果我在Activity的oncreate()方法中做同樣的事情,它會使應用程序崩潰。
我想知道Android如何處理這個問題,以及它爲什麼會崩潰應用程序。
感謝
logcat的日誌:
致命異常:螺紋248
Process: com.abc.android, PID: 3673
java.lang.IllegalStateException: sss
at com.abc.android.MainActivity$1.run(MainActivity.java:80)
at java.lang.Thread.run(Thread.java:818)
你可以發佈你的Activity的oncreate()代碼嗎? – sasikumar
線程t =新主題(新的Runnable(){ \t \t \t @Override \t \t \t公共無效的run(){ \t \t \t \t擲新IllegalStateException異常( 「SSS」); \t \t \t} \t \t }); \t \t t.start(); – Qing
你把佈局代碼? – sasikumar