AssertionError
日本語 | 断言違反 |
英語 | assertion error |
ふりがな | あさーしょんえらー |
フリガナ | アサーションエラー |
J2SEに含まれるクラスのひとつ。パッケージも含めたクラス名はjava.lang.AssertionError。
assertにfalseが渡され、アサーションが行われた場合に投げられる。
Errorクラスのサブクラスのため厳密には例外ではない。
また、Errorクラスのサブクラスのため、このクラスをcatchで拾ってはならない。逆に言うと、assertは「発生させないようにプログラムを組む」ことが必要であり、そのためのassertである。
assertにfalseが渡され、アサーションが行われた場合に投げられる。
Errorクラスのサブクラスのため厳密には例外ではない。
また、Errorクラスのサブクラスのため、このクラスをcatchで拾ってはならない。逆に言うと、assertは「発生させないようにプログラムを組む」ことが必要であり、そのためのassertである。
参考サイト
// Sample.java
public class Sample
{
public static void main( String[] args )
{
// 注:
// アサーションはJ2SEのバージョンが1.4以降である必要があります。
// また、実行時にVM引数に-eaを追加しなければアサーションは機能しません。
// Eclipseの場合、メニューの「実行」-「デバッグ」の
// 「起動構成の作成、管理、及び実行」ダイアログの「引き数」ページの
// 「VM 引き数」に-eaを追記してください。
try
{
// assertを使います。
// 「:」を使い、その右側に値を渡します。
assert false : "テストです。";
}
catch( AssertionError e )
{
// 投げられたAssertionErrorクラスを拾いました。
e.printStackTrace();
// java.lang.AssertionError: テストです。
// at Sample.main(Sample.java:17)
// 「:」の右側の値"テストです"が、スタックトレース出力時に
// "テストです"として出力されています。
// AssertionErrorクラスはErrorクラスのサブクラスで、
// 厳密には例外ではありません。
// また、Errorクラスは「catchで拾ってはいけない」ので、
// このように拾うのは本当はいけません。
}
}
}
public class Sample
{
public static void main( String[] args )
{
// 注:
// アサーションはJ2SEのバージョンが1.4以降である必要があります。
// また、実行時にVM引数に-eaを追加しなければアサーションは機能しません。
// Eclipseの場合、メニューの「実行」-「デバッグ」の
// 「起動構成の作成、管理、及び実行」ダイアログの「引き数」ページの
// 「VM 引き数」に-eaを追記してください。
try
{
// assertを使います。
// 「:」を使い、その右側に値を渡します。
assert false : "テストです。";
}
catch( AssertionError e )
{
// 投げられたAssertionErrorクラスを拾いました。
e.printStackTrace();
// java.lang.AssertionError: テストです。
// at Sample.main(Sample.java:17)
// 「:」の右側の値"テストです"が、スタックトレース出力時に
// "テストです"として出力されています。
// AssertionErrorクラスはErrorクラスのサブクラスで、
// 厳密には例外ではありません。
// また、Errorクラスは「catchで拾ってはいけない」ので、
// このように拾うのは本当はいけません。
}
}
}
// Sample.java public class Sample { public static void main( String[] args ) { // 注: // アサーションはJ2SEのバージョンが1.4以降である必要があります。 // また、実行時にVM引数に-eaを追加しなければアサーションは機能しません。 // Eclipseの場合、メニューの「実行」-「デバッグ」の // 「起動構成の作成、管理、及び実行」ダイアログの「引き数」ページの // 「VM 引き数」に-eaを追記してください。 try { // assertを使います。 // 「:」を使い、その右側に値を渡します。 assert false : "テストです。"; } catch( AssertionError e ) { // 投げられたAssertionErrorクラスを拾いました。 e.printStackTrace(); // java.lang.AssertionError: テストです。 // at Sample.main(Sample.java:17) // 「:」の右側の値"テストです"が、スタックトレース出力時に // "テストです"として出力されています。 // AssertionErrorクラスはErrorクラスのサブクラスで、 // 厳密には例外ではありません。 // また、Errorクラスは「catchで拾ってはいけない」ので、 // このように拾うのは本当はいけません。 } } }