7章 例外処理 Flashcards

(33 cards)

1
Q

例外

A

プログラムの実行時に発生するエラー

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

throw

A

例外を発生させるという意味

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

例外オブジェクトをthrow

A

throw 例外オブジェクト;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Throuwableクラス

A

すべての例外やエラーのスーパークラス。
例外の原因や詳細メッセージなどの情報を保持し、情報の取得メソッドを提供します。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Throwable getCause()

A

Throuwableクラス
オブジェクトに設定された原因を返す

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

String getMessage()

A

Throuwableクラス
オブジェクトに設定された詳細メッセージを返す

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

void printStackTrace()

A

Throuwableクラス
例外オブジェクトとスタックトレースを出力する

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Exceptionクラス

A

コンパイラにより例外処理の有無がチェックされるチェック例外。
例外処理は必須。
処理を行っていないプログラムはコンパイルエラーになる。
Exceptionを継承するクラスのうち、RuntimeExceptionとそのサブクラス以外はすべてチェック例外に該当する。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

ClassNotFoundException

A

Exceptionクラスのサブクラス
文字列に指定のクラス名でクラスがロードできない場合に発生。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

IOException

A

Exceptionクラスのサブクラス
ファイルやネットーワークなどの入出力処理が失敗した場合に発生。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

FileNotFoundException

A

IOExceptionクラスのサブクラス
指定のパスにファイルが存在しない場合に発生。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

RuntimeExceptionクラス

A

コンパイラが例外処理の有無をチェックしない、非チェック例外。
例外処理は任意。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

ArithmeticException

A

RuntimeExceptionクラスのサブクラス
整数をゼロで除算した場合などに発生。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

ArrayIndexOutOfBoundsException

A

RuntimeExceptionクラスのサブクラス
不正なインデックスで配列にアクセスした場合に発生。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

ClassCastException

A

RuntimeExceptionクラスのサブクラス
参照型のキャストが無効な場合に発生。

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

NullPointerException

A

RuntimeExceptionクラスのサブクラス
Nullが代入された参照型のメンバにアクセスした場合に発生。

17
Q

NumberFormatException

A

RuntimeExceptionクラスのサブクラス
文字列を整数に変換できない場合に発生。

18
Q

Errorクラス

A

メモリ不足やハードウェアのトラブルなどで発生するエラー。
プログラムで処理すべきではないため、Errorクラスとそのサブクラスもチェック非例外。

19
Q

NoClassDefFoundError

A

Errorクラスのサブクラス
ロードするクラスが見つからない場合に発生。

20
Q

OutOfMemoryError

A

Errorクラスのサブクラス
プログラムの実行に必要なメモリが確保できない場合に発生。

21
Q

StackOverflowError

A

Errorクラスのサブクラス
アプリケーションでの再起の回数が多すぎる場合に発生。

22
Q

カスタム例外

A

ビジネスロジック固有の事象などで標準APIで提供されていない例外クラスを必要とする場合にアプリケーション独自に作成する例外クラス。
チェック例外であるExceptionクラスを継承して作成するのが一般的。

23
Q

カスタム例外宣言

A

[ 修飾子 ] class カスタム例外クラス名 extends Exception {}

24
Q

例外処理の方法2種類

A

・try-catchによる例外のキャッチ
・throwsによる例外の転送

25
try-catch-finally
try-catch-finallyの3つのブロックを使用して例外処理を行う。 try { 例外がスローされる可能性がある処理; } catch ( 例外クラスの型 参照変数 ) { 例外がスローされた場合の処理; } finally { 必ず行う処理; }
26
multi-catch
複数のcatchブロックに重複する処理を1か所にまとめること。 try { 例外がスローされる可能性がある処理; } catch ( 例外クラスの型 | 例外クラスの型 参照変数 ) { 例外がスローされた場合の処理; }
27
try-with-resources
tryに続く「()」にリソースを指定すると、tryブロック内の処理の前にリソースのオープンが行われ、tryブロックが正常に処理されたか例外がスローされたかに関わらず、必ずリソースの自動クローズが行われます try ( 自動クローズするリソース[;] ) { }
28
throwsキーワード
例外がスローされる可能性があるメソッド定義に付与し、メソッドの呼び出し元に処理を任せるための仕組み。 [ 修飾子 ] 戻り値の型 メソッド名 (引数リスト) throws 例外クラスの型 {}
29
Throwableクラスのサブクラス2つ
・Exceptionクラス ・Errorクラス
30
Throwableクラスのメソッド3つ
・Throwable getCause() ・String getMessage() ・void printStackTrace()
31
Exceptionクラスのサブクラス3つ
・ClassNotFoundException ・IOException ・FileNotFoundException
32
RuntimeExceptionクラスのサブクラス5つ
・ArithmeticException ・ArrayIndexOutOfBoundsException ・ClassCastException ・NullPointerException ・NumberFormatException
33
Errorクラスのサブクラス3つ
・NoClassDefFoundError ・OutOfMemoryError ・StackOverflowError