プログラミング Java

【Java入門】例外処理の基本的な操作まとめ

投稿日:

概要

例外処理の基本的な知識と操作について記載しています。

例外処理の構文

try~catch~finally

◆基本構文

・finallyブロックは省略可能です。
・catchブロックは複数指定可能です。
・tryブロック , catchブロック , finallyブロックの順である必要があります。
・finallyブロックは必ず実行されます。(catch内でreturnしていても同様)

try~with~resource

◆基本構文

・例外発生時の処理順序です。
 ①リソースの解放
 ②catchブロックの処理
 ③finallyブロックの処理
 

検査例外・非検査例外・エラー

関係図

検査例外、非検査例外、エラーの関係を図で示します。

検査例外

ExceptionクラスのRuntimeException以外のクラスとそのサブクラスが検査例外です。
検査例外は、以下を強制します。
・try~catch句
・throws句

例として、以下のサブクラスがあります。
・IOException
・ClassNotFoundException

非検査例外

ExceptionクラスのRuntimeExceptionクラスとそのサブクラスが非検査例外です。
検査例外のような例外処理の強制はありません。

例として、以下のサブクラスがあります。
・ClassCastException
・NullPointerException
・IndexOutOfBoundsException

エラー

プログラムが回復不能なトラブルに陥った場合に発生します。
例として、以下がErrorのサブクラスです。
・OutOfMemoryError
・StackOverflowError
・NoClassDefFoundError

コード例

検査例外(try~catch~finally)

ファイルの読み込みに失敗した場合に例外処理するケース

 

検査例外(try~with~resource)

読込対象のファイルが存在しないため、リソースが開けないケース

 

非検査例外(catchしない場合)

NullPointerExceptionをcatchしないケース

 

非検査例外(catchする場合)

NullPointerExceptionをcatchするケース

 

エラー

無限ループでOutOfMemoryErrorが発生したケース

 

 

まとめ

  • 例外には、検査例外・非検査例外がある。
  • 検査例外はtry~catchまたはthrowsが強制されるが、非検査例外では強制されない。
  • エラーはシステムが回復不能である場合にスローされる。

 
最後までお読み頂き、ありがとうございました!
ご意見・ご要望がありましたら、遠慮なくコメント下さい!
もし内容が良かったらランキング評価を頂けると励みになります(^^)

ランキング評価する

-プログラミング, Java
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

【Java入門】Javaの開発環境を準備しよう!

概要 これからJavaの勉強をしようとする方向けにJavaの開発環境を準備する手順をご説明します。   環境構築 Eclipseのダウンロード IDE(統合開発環境)のEclipseをダウンロードしま …

オブジェクト指向がわかるようになるためにする3つのこと

オブジェクト指向がいまいちわからない人向けに、 オブジェクト指向でプログラミングできるようになるまでのステップを以下にまとめました。   Javaでプログラミングする Javaはオブジェクト …

プログラミングを上達させるために私がやってきたこと・やっていること

私の上達過程 写経 自分のレベルに合う本をもとに写経しては、コードの意味を調べて理解し、少しづつ体に染み込ませるように身に着けていきました。 とにかく初心者のころは右も左も分からず、ちょっとしたエラー …

【Bootstrap】一覧表示をデザインしよう!

概要 一覧表示をデザインします。 Bootstrapにはすぐに使える便利なクラスが用意されているので、それらを使用して実現します。 【SpringBootチュートリアル】#7~ 検索画面の作成に変更を …

【Java入門】クラスとインスタンスの違いを分かり易い言葉で説明します。

概要 クラスとインスタンスの違いについて、できるだけ分かり易い言葉や表現で説明します。   クラス 設計書だよ。 以上です。 ほんとマジで。 どんなデータと操作が可能かを決めているだけなので設計書と表 …

■運営者プロフィール
IT業界10年のエンジニア。
PHP -> VBA -> Javaと渡り歩いてきて、今はJavaをメインにフリーランスエンジニアとして活躍中!

[保有資格]
・Java SE 11 Gold

一度はエンジニアを辞めざるを得なかった私が再びエンジニアとして復活した数奇な物語

SpringFramworkの良書

■おすすめ教材
Javaの基本を学んだ人が、次のステップとして読む本(中級者向け)

※SpringはJavaのFrameworkの1つです。
変更のしやすさ、保守性の高さが特徴です。