1. 程式人生 > 實用技巧 >2020 年百度之星·程式設計大賽 初賽一

2020 年百度之星·程式設計大賽 初賽一

assert

斷言一般有兩種格式:

assert [true]
assert [false]
assert false : "logMessage"

1.格式1

assert [boolean 表示式] 如果[boolean表示式]為true,則程式繼續執行。 如果為false,則程式丟擲AssertionError,並終止執行。 示例

public class Test1 {
public static void main(String[] args) {
int a = 1;
int b = 2;
// 格式1:assert [boolean 表示式]
assert a > b;
}
}

增加 jvm 引數 -ea,執行,輸出日誌如下:

Exception in thread "main" java.lang.AssertionError
at Test1.main(Test1.java:12)

Process finished with exit code 1

2.格式2

assert [boolean 表示式 : 錯誤表示式 (日誌)]

如果[boolean表示式]為true,則程式繼續執行。 如果為false,則程式丟擲java.lang.AssertionError,輸出[錯誤資訊]。 示例

public class Test2 {
public static void main(String[] args) {
int a = 1;
int b = 2;
// 格式2:assert [boolean 表示式] : [錯誤表示式 (日誌)]
assert a > b : "錯誤,a不大於b";
}
}

增加 jvm 引數 -ea,執行,輸出日誌如下:

Exception in thread "main" java.lang.AssertionError: 錯誤,a不大於b
at Test2.main(Test2.java:12)

Process finished with exit code 1