java assert的用法簡介


assert的基本用法

assertion(斷言)在軟件開發中是一種常用的調試方式,很多開發語言中都支持這種機制,如C,C++和Eiffel等,但是支持的形式不盡相同,有的是通過語言本身、有的是通過庫函數等。另外,從理論上來說,通過assertion方式可以證明程序的正確性,但是這是一項相當復雜的工作,目前還沒有太多的實踐意義。

在實現中,assertion就是在程序中的一條語句,它對一個boolean表達式進行檢查,一個正確程序必須保證這個boolean表達式的值為true;如果該值為false,說明程序已經處於不正確的狀態下,系統將給出警告並且退出。一般來說,assertion用於保證程序最基本、關鍵的正確性。assertion檢查通常在開發和測試時開啟。為了提高性能,在軟件發布后,assertion檢查通常是關閉的。下面簡單介紹一下Java中assertion的實現。

在語法上,為了支持assertion,Java增加了一個關鍵字assert。它包括兩種表達式,分別如下:

1. assert expression1;
2. assert expression1: expression2;
    

expression1表示一個boolean表達式,expression2表示一個基本類型、表達式或者是一個Object,用於在失敗時輸出錯誤信息。

在運行時,如果關閉了assertion功能,這些語句將不起任何作用。如果打開了assertion功能,那么expression1的值將被計算,如果它的值為false,該語句強拋出一個AssertionError對象。

示例代碼如下:

package com.chzhao.test;

public class AssertDemo {

	public static void main(String[] args) {
		
		test1(-5);
		test2(-3);
	}
	
	private static void test1(int a){
		assert a > 0;
		System.out.println(a);
	}
	private static void test2(int a){
		assert a > 0 : "something goes wrong here, a cannot be less than 0";
		System.out.println(a);
	}
}

eclipse的相關設置

在eclipse中,必須開啟相關設置。具體在偏好設置,選擇Installed JREs,選擇相關版本,點擊edit,在Default VM arguments里面輸入-ea就可以了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM