JAvaでの新しいassert断言方法

4478 ワード

JAva言語は発展する時、デバッグ員にとって、デバッグの仕事はとても疲れていますが、javaの中の発展はある程度彼らを便利にして、今1つの断言の機能があって、つまりassertキーワードを使って1つのbooleanの属性を判断することができて、いったいtrueですかfalseですか、しかし、いくつかのプログラミング用のソフトウェアeclipseとmyeclipseはデフォルトでこの機能をオンにしていません.
Eclipseでアサーション(Assert)をどのように開くかは、2つの方法があります.1.Run->Run Configurations->Argumentsページラベル->VM argumentsテキストボックスにアサーションオープンのフラグを付けます.-enableassertionsまたは-eaでいいです.ここのボックスに直接入力すればいいです.もちろん-daを入力することもできます.これはこの機能を閉じるために使われています.もちろん一般的には、ここを開いています.また、鉄棒の-eaコマンドはユーザー定義のパッケージを開くことですが、システム定義のパッケージを開く必要がある場合は、-esaを入力する必要があります. -eaを入力してから改行し、-esaを入力します.ここにはスペースがありません.入力が終わったらrunをクリックして確認すればいいです.2.myEclipseでWindows->Preferences->Java->Installed JREs->使用中のJDK->Edit->Default VM Argumentsテキストボックスに-ea(本人はこの方法を採用していますが、これも同じです)を入力し、成功したかどうかをテストできます.私たちはmain関数の中で私が皆さんに書いたこの関数public static String isAssertionOk(){boolean ok=false;assert ok=true;return ok?「おめでとうございます.Assert機能はもうオンになりました」「申し訳ありませんが、Assert機能はまだオンになっていません.」+「上の方法をもう一度見てください.ありがとうございます」
    
-------------
    
-------------
it is true!
null
s=null
     null          true  s=null
     null          true
, !

boolean true, , assert boolean :" "; , boolean , 。 , , , AssertionError, try...catch ,

assert expression1;
assert expression1:expression2;
expression1 true, , ,expression2 。
expression1 false, , ,expression2 。

, expression1、expression2 ;
public , private 。

, javac -source; Java -ea。


: assert , assert “ assert ”, “ assert , , ”, assert , assert , , !

    , assertion , assert 。 assertion, assertion ?

  assert , , assert false。 , assertion 。

class Base {
	public void baseMethod() {
		try {
			assert false:"Assertion failed:This is base";//   assertion  
		} catch (Throwable e) {
			// TODO: handle exception
			Cout.addLine(e.getMessage());
		}
		System.out.println("Base Method");
	}
}
	
class Exercise extends Base {
	public void derivedMethod() {
		try {
			assert false : "Assertion failed:This is derive";//   assertion  
		} catch (AssertionError e) {
			// TODO: handle exception
			Cout.addLine(e.getMessage());
		}
		System.out.println("Derived Method");
	}
	public static void  f() {
		try {
			assert false : "111";
		} catch (AssertionError e) {
			// TODO: handle exception
			Cout.addLine(e.getMessage());
		}
	}
	public static void main(String[] args) {
		Exercise derived=new Exercise();

			derived.baseMethod();
			derived.derivedMethod();
		
		
	}
}
Assertion failed:This is base
Base Method
Assertion failed:This is derive
Derived Method
!!!

, qq   2553627958