public static void main(String [] args){

    int a = 5;

    if(a==5){

        System.out.println("中斷啦");

        return;

    }

    System.out.println("程式沒有中斷");

//-----------------------------------------------------

//--  語法 :     assert <布林值> : <輸出>;

//--  語法 :     assert <布林值>;

 

public static void main(String [] args){

    int a = 5;

    assert a==5 : "中斷啦";

    System.out.println("程式沒有中斷");

//---------------------------------------------------

此2方法意思是一樣的,不過下面執行時要加上 -ea  指令

沒有加上 -ea  指令 ,程式將會被跳過忽略

 

assert 主要用於內部程式設計師除錯使用,所以要加上 -ea

程式碼發布後,客戶端不會自己加上 -ea 所以程式不會被執行

java -ea MyClass

java -enableassertions MyClass

 

[  注意事項  ]

1.另外千萬不要在 assert 外面加上 try-catch 等等的例外捕捉,因為 assert 本來就是要讓程式中斷,加上例外捕捉後,程式將無法中斷

2.不要在 assert 裡加入運算式

3.不要用 assert 檢查 公開方法 的參數,因為 assert 預設是不執行,應該用 if 來檢查

4.不要用 assert 呼叫方法,因為 assert 預設是不執行,方法裡的程式碼可能不會執行

arrow
arrow
    全站熱搜

    黃彥霖 發表在 痞客邦 留言(0) 人氣()