激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - 淺析Java異常處理中斷言的使用

淺析Java異常處理中斷言的使用

2020-01-07 14:15goldensun JAVA教程

這篇文章主要介紹了Java異常處理中斷言的使用,是Java入門學習中的基礎知識,需要的朋友可以參考下

斷言的概念

斷言用于證明和測試程序的假設,比如“這里的值大于 5”。
斷言可以在運行時從代碼中完全刪除,所以對代碼的運行速度沒有影響。
斷言的使用

斷言有兩種方法:
一種是 assert<<布爾表達式>> ;
另一種是 assert<<布爾表達式>> :<<細節描述>>。
如果布爾表達式的值為false , 將拋出AssertionError 異常; 細節描述是AssertionError異常的描述文本使用 javac –source 1.4 MyClass.java 的方式進行編譯示例如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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',例如可以使用以下的命令編譯上面的代碼:
  

?
1
javac -source 1.4 AssertExample.java


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

?
1
java -ea AssertExample 1


程序的輸出為:

?
1
2
3
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 并終止程序的運行。
斷言推薦使用方法

用于驗證方法中的內部邏輯,包括:

  • 內在不變式
  • 控制流程不變式
  • 后置條件和類不變式

注意:不推薦用于公有方法內的前置條件的檢查。
運行時屏蔽斷言

運行時要屏蔽斷言,可以用如下方法:
    java –disableassertions 或 java –da 類名
運行時要允許斷言,可以用如下方法:
    java –enableassertions 或 java –ea類名

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 99精品热视频 | 国产精品久久久久久久久久久久午夜 | 日本黄色免费片 | 国产剧情v888av | 射逼网站 | 成人男女啪啪免费观看网站四虎 | 国产99久久久久久免费看农村 | 欧美成人免费tv在线播放 | 5xsq在线视频 | 欧美精品一区二区久久久 | 精品国产一区二区三区成人影院 | 午夜精品老牛av一区二区三区 | 久久久tv | 欧美精品一区二区三区在线 | 国产一区二区在线观看视频 | 九九热视频免费 | 欧美成人影院 | 久久久久久99 | 国产精品二区高清在线 | 黄色毛片视频在线观看 | 91美女啪啪 | 久久综合久久综合久久 | 一区二区三区四区五区中文字幕 | 蜜桃成品人免费视频 | 黄色网址免费播放 | 久久成年网站 | 在线免费观看毛片视频 | 日本一区二区视频在线观看 | 久久99精品久久久久久国产越南 | 国产成人精品区一区二区不卡 | 亚洲精品一区二区三区大胸 | 欧美精品久久天天躁 | 在线播放免费人成毛片乱码 | 国产一级二级在线播放 | 欧美h版电影在线观看 | 国产精品亚洲欧美一级在线 | 欧美日韩经典在线 | 国产亚洲精品久久久久久网站 | 久久精热 | 欧美激情精品久久久久久久久久 | 久久久久亚洲国产精品 |