パンくず
Effective Java
標準例外を使用する
概要
標準例外を使用する
標準例外を使用する利点
・APIの利用が用意になる
・見慣れた例外で統一されるため可読性が上がる
・例外のクラス数が少なくなるためメモリ量が節約される
頻出例外
例外 | 使用する機会 |
---|---|
IllegalArgumentException | パラメータ指定が不適切 |
IllegalStateException | メソッド呼び出しに対してオブジェクト状態が不正 |
NullPointerException | パラメータ値が禁止されているnull |
IndexOutOfBoundsException | インデックスパラメータ値が範囲外 |
ConcurrentModificationException | 禁止されているオブジェクトの並行した変更を検出 |
UnsupportedOperationException | オブジェクトがメソッドをサポートしていない |
使用例
package effective.creation.chapter9; import java.util.Arrays; public class SampleNo60 { public static void main(String[] args) { for (String hoge : Arrays.asList("hoge", "hage", "", null)) { doHoge(hoge); } } private static void doHoge(String string) { try { printHoge(string); } catch (Exception e) { System.out.println(e.getClass()); System.out.println(e.getMessage()); } } private static void printHoge(String string) { if (string == null) { throw new NullPointerException("null hoge"); } if (string == "" || !string.equals("hoge")) { throw new IllegalArgumentException("illegal hoge"); } System.out.println(string); } }
出力
hoge class java.lang.IllegalArgumentException illegal hoge class java.lang.IllegalArgumentException illegal hoge class java.lang.NullPointerException null hoge