例外処理

・例外発生時のEceptionスローとログ出力を調べる。
・画面で多用している共通処理内での例外発生時の呼び出し元(オンライン処理とプレゼン処理)の対応は?

 

・例外
プログラム実行中に発生する「トラブル」
ex)
プログラマーの不注意で作り込むバグ
要件や仕様の間違い
実行マシンの不具合
他のソフトウェアとの連携不具合
…etc

・例外処理
万が一のトラブルに備えたプログラミング
×トラブル発生で停止する
×トラブル発生で動作しなくなる
×トラブル発生で動作するが正常処理しない

・構文
try{
例外が発生する可能性のある処理

catch(例外クラス型 変数){
例外が発生したときの処理
//このブロックの処理が終わる=トラブルは収束したとして、正常な動作に戻る。

finally{
例外発生の有無に関わらず必ず実行する処理

・例外クラス
エラー:プログラムが対処できないトラブル
例外 :プログラムが対処できるトラブル

Throwable
|
| ̄ ̄ ̄ ̄ |
Error        Exception★
                |
                RuntimeException

・検査例外と非検査例外
コンパイラが例外処理の記述チェックをするか否かで、例外は検査例外と非検査例外に分類される。

⑴検査例外:try-catch文 or throws宣言句必須
①Exceptionクラス
②Exceptionクラスのサブクラス(RuntimeExceptionクラスを除く)

⑵非検査例外:try-catch文 or throws宣言句任意
①Errorクラス
②RuntimeExceptionクラス
③RuntimeExceptionクラスのサブクラス