Eclipse 下使用斷言功能

來源:互聯網
上載者:User

所謂斷言(assertion)是一個Java語句,布林運算式,程式員認為在程式執行時該運算式的值應該為true。系統通過計算該布林運算式執行斷言,若該運算式為false系統會報告一個錯誤。

斷言是通過assert關鍵字來聲明的,斷言功能的使用有兩種格式:

assert expression ;     或者   assert expression : detailMessage ;

其中,expression為布林運算式,detailMessage是基礎資料型別 (Elementary Data Type)或Object類型的值。當Assert 陳述式被執行時,Java計算expression的值,如果其值為false,拋出AssertionError異常。對於第二種帶有一個詳細資料的Assert 陳述式,將使用AssertionError類的與訊息的資料類型匹配的構造方法。由於AssertionError類是Error類的子類,當斷言為false時,程式將在控制台顯示一條訊息並終止程式的執行。

Eclipse預設是沒有開啟斷言功能的,所以你使用斷言也不會看到效果的,首先我們用以下步驟開啟斷言的開關:

在MyEclipse中
 Windows--> Preferences--->Java--->Installed JREs--->點擊正使用的JDK--->Edit--->
 Default VM Arguments文字框中輸入:-ea

 如

 

開啟之後,用下面的代碼進行測試:

public class AseertTest {        public boolean flag = true;// 改變flag值然後查看控制台輸出        public boolean isValid(){                return flag;    }    public static void main(String args[]){        AseertTest assertion = new AseertTest();        assert assertion.isValid() : "Flag must be true!";        System.out.println("assert end");    }}

更改flag的值為false,使條件無法測試通過,這時就會拋出如下異常,也就說明斷言已經起作用了。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.