Java assert關鍵字

Assert 簡介

Java2在1.4中新增了一個關鍵字:assert。在程序開發過程中使用它創建一個斷言(assertion)。語法格式有兩種:

  1. assert condition;

    這里condition是一個必須為真(true)的表達式。如果表達式的結果為true,那么斷言為真,并且無任何行動如果表達式為false,則斷言失敗,則會拋出一個AssertionError對象。這個AssertionError繼承于Error對象,而Error繼承于Throwable,Error是和Exception并列的一個錯誤對象,通常用于表達系統級運行錯誤。

  2. asser condition:expr;
    這里condition是和上面一樣的,這個冒號后跟的是一個表達式,通常用于斷言失敗后的提示信息,說白了,它是一個傳到AssertionError構造函數的值,如果斷言失敗,該值被轉化為它對應的字符串,并顯示出來。

案例準備

IDEA中默認assert(斷言)是關閉,開啟方式如下:

簡單來說:就是設置一下jvm的參數,參數是-enableassertions

image-20200814161259796
assert [boolean 表達式]
  • 如果[boolean表達式]為true,則程序繼續執行。
  • 如果為false,則程序拋出AssertionError,并終止執行。
public class AssentTest {public static void main(String[] args) {// 格式1:assert [boolean 表達式]assert 1 > 2;}
}

控制臺打印

image-20200814161339862
assert [boolean 表達式 : 錯誤表達式 (日志)]
  • 如果[boolean表達式]為true,則程序繼續執行。
  • 如果為false,則程序拋出java.lang.AssertionError,輸出[錯誤信息]。
public class AssentTest {public static void main(String[] args) {// 格式1:assert [boolean 表達式]assert 1 > 2 : " 1 小于 2";}
}

控制臺打印

image-20200814161419075