読者です 読者をやめる 読者になる 読者になる

うさがにっき

読書感想文とプログラムのこと書いてきます

例外処理について

Android Java

概要

Javaの例外処理について知らなかったことをまとめる

詳細

検査例外と非検査例外

例外には非検査例外と検査例外がある

非検査例外 RuntimeException派生クラス
検査例外 それ以外の例外クラス

このうちthrows句による宣言が必要あるのは、検査例外だけ
非操作例外もthrows句を書くことはできるが、必須ではない
なので以下のメソッドは妥当

public static double getTriangle(double base, double height) {
	if(base < 0 || height < 0) {
		throw new IllegalArgumentException("底辺、高さは整数で指定してください");
	}

	return base * height / 2;
}

標準例外をなるだけ利用する

自分で例外をスローする場合には、まず既存の例外に適切なものがないか確認する
標準例外ののほうが直感的に理解できる

NullPointerException オブジェクトの参照がnull
IllegalArgumentException 不正なパラメータをメソッドに渡した
indexOutOfBoundsException インデックスが想定の反映外
UnsupportedOperationException 要求された操作がサポートされていない
ArithmeticException 算術計算で例外的な条件が発生した

参考

AndroidエンジニアのためのモダンJava

AndroidエンジニアのためのモダンJava

広告を非表示にする