為什么這節我運行的結果是先出現異常,再出現運行結果?
代碼如下:
package com.imooc.test;
public class TryCatchTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
? ? ?TryCatchTest a=new TryCatchTest();
? ? ?int result=a.test();
? ? ?System.out.println("test()方法,執行完畢!返回值為:"+result);
}
? ? public int test() {
? ? int divider=10;
? ? int result=100;
? ? try {
? ? while(divider>-1) {
? ? divider--;
? ? result=result+100/divider;
? ? ? ?}
? ? return result;
? ? ? ? } catch(Exception e) {
? ? e.printStackTrace();
? ? System.out.println("循環拋出異常了?。。?);
? ? return -1;
? ? ? ? }
? }
}
運行結果為:
java.lang.ArithmeticException: / by zero
at com.imooc.test.TryCatchTest.test(TryCatchTest.java:17)
at com.imooc.test.TryCatchTest.main(TryCatchTest.java:8)
循環拋出異常了?。?!
test()方法,執行完畢!返回值為:-1
2018-05-21
因為
at com.imooc.test.TryCatchTest.test(TryCatchTest.java:17)
at com.imooc.test.TryCatchTest.main(TryCatchTest.java:8)
這兩句并不會在控制臺嚴格按照順序輸出~它們會很任性地隨機在某個位置出現