程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 淺析Java異常處置中止言的應用

淺析Java異常處置中止言的應用

編輯:關於JAVA

淺析Java異常處置中止言的應用。本站提示廣大學習愛好者:(淺析Java異常處置中止言的應用)文章只能為提供參考,不一定能成為您想要的結果。以下是淺析Java異常處置中止言的應用正文


斷言的概念

斷言用於證實和測試法式的假定,好比“這裡的值年夜於 5”。
斷言可以在運轉時從代碼中完整刪除,所以對代碼的運轉速度沒有影響。
斷言的應用

斷言有兩種辦法:
一種是 assert<<布爾表達式>> ;
另外一種是 assert<<布爾表達式>> :<<細節描寫>>。
假如布爾表達式的值為false , 將拋出AssertionError 異常; 細節描寫是AssertionError異常的描寫文本應用 javac –source 1.4 MyClass.java 的方法停止編譯示例以下:

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 並終止法式的運轉。
斷言推舉應用辦法

用於驗證辦法中的外部邏輯,包含:

  • 內涵不變式
  • 掌握流程不變式
  • 後置前提和類不變式

留意:不推舉用於私有辦法內的前置前提的檢討。
運轉時屏障斷言

運轉時要屏障斷言,可以用以下辦法:
    java –disableassertions 或 java –da 類名
運轉時要許可斷言,可以用以下辦法:
    java –enableassertions 或 java –ea類名

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved