91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JDK1.4特性assert的示例分析

發布時間:2021-12-17 13:44:31 來源:億速云 閱讀:149 作者:小新 欄目:編程語言

這篇文章主要介紹了JDK1.4特性assert的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

源代碼:

/**  * Simple examples of the use of the new assertion feature in JDK1.4  *  * @author S.Ritter 16/7/2001  **/ public class AssertExample {  public static void main(String[] args) {  int x = 10;  if (args.length > 0) {  try {  x = Integer.parseInt(args[0]);  } catch (NumberFormatException nfe) {  /* Ignore */ }  }  System.out.println("Testing assertion that x == 10");  assert x == 10:"Our assertion failed";  System.out.println("Test passed");  }  }

由于引入了一個新的關鍵字,所以在編譯的時候就需要增加額外的參數,要編譯成功,必須使用JDK1.4的javac并加上參數´-source 1.4´,例如可以使用以下的命令編譯上面的代碼:

javac -source 1.4 AssertExample.java

以上程序運行使用斷言功能也需要使用額外的參數(并且需要一個數字的命令行參數),例如:

java -ea AssertExample 1

程序的輸出為:

Testing assertion that x == 10 Exception in thread "main" java.lang.AssertionError: Our assertion failed  at AssertExample.main(AssertExample.java:20)

由于輸入的參數不等于10,因此斷言功能使得程序運行時拋出斷言錯誤,注意是錯誤,這意味著程序發生嚴重錯誤并且將強制退出。斷言使用boolean值,如果其值不為true則拋出AssertionError并終止程序的運行。

由于程序員的問題,斷言的使用可能會帶來副作用,例如:

boolean isEnable=false;  //...  assert isEnable=true;


這個斷言的副作用是因為它修改程序變量的值并且沒有拋出錯誤,這樣的錯誤如果不細心檢查很難發現。但是同時我們可以根據以上的副作用得到一個有用的特性,根據它測試是否將斷言打開了。

/**  * Simple examples test enable assertion feature in JDK1.4  *  * @author Cherami 25/4/2002  **/ public class AssertExample2 {  public static void main(String[] args) {  boolean assertEnable=false;  assert assertEnable=true;  if (assertEnable==false)  {  throw new RuntimeException("Assertions should be enable");  }  }  }

如果我們不使用-ea參數運行上面的程序,則控制臺將輸出:

Exception in thread "main"   java.lang.RuntimeException: Assertions should be enable at AssertExample.main(AssertExample.java:14)

感謝你能夠認真閱讀完這篇文章,希望小編分享的“JDK1.4特性assert的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

耿马| 鹤峰县| 东乌珠穆沁旗| 广东省| 房产| 青铜峡市| 泸州市| 泉州市| 南开区| 景洪市| 双牌县| 洪洞县| 石首市| 张北县| 安仁县| 女性| 青冈县| 张家界市| 内江市| 辽阳市| 襄城县| 永德县| 瑞丽市| 新源县| 嘉荫县| 会昌县| 民权县| 兴仁县| 岳阳市| 吴川市| 株洲市| 新田县| 通山县| 洞头县| 香港| 岢岚县| 通海县| 临江市| 清涧县| 江西省| 宣威市|