Java SE 7 Silver対策勉強をしながらメモ 2015/2/6
2015/03/29
本日は例外の続き。
これで参考書の章立てはとりあえず終了!!
明日からは模試と練習問題をやりまくるべし!!
いつものごとくマークダウンで記載したのでそのままJetpack Markdownにお任せでアップします。
コンパイラによってチェックされる = 例外処理が必須
- RuntimeExceptionとそのサブクラスを除くExceptionクラスとそのサブクラスが、コンパイラによってチェックされる例外(例外処理が必須)
主なRuntimeExceptionのサブクラス(例外処理任意)
- AirthmeticException – ゼロ割
- ArrayIndexOutOfBoundsException – 配列範囲外
- ClassCastException – クラスキャスト
- NullPointerException – null参照変数のメソッド実行
- NumberFormatException – 文字列を整数変換
- IllegalArgumentException – 不正な引数
RuntimeExceptionとサブクラスを除いた主なExceptionのサブクラス(例外処理必須)
- ClassNotFoundException – クラスをロードできない
- FileNotFoundException – 対象ファイルがない
- IOException – 入出力関連
複数キャッチのExceptionクラス継承関係に注意!!!
- 複数のcatchブロックを定義するときは下位にサブクラスを書くとコンパイルエラー
- 上位がスーパークラスだとそこでキャッチして到達出来ないコードになるから
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
public class Test{ public static void main(String[] args){ try{ method(); }catch(Exception e){ System.out.println(e); }catch(RuntimeException e){ System.out.println(e); } } static void method(){ int[] array = new int[5]; array[5] = 10; getRuntimeException(); } static void getRuntimeException(){ throw new RuntimeException(“Runtime Exception”); } } |
Exceptionクラスのコンパイルエラーの例としてはいささか強引だが
- これはコンパイルエラー
1 2 3 4 5 6 7 8 9 10 11 |
public class Main{ public static void main(String[] args){ method1(); } private static void method1(){ method2(); } private static void method2(){ throw new Exception();//ここでコンパイルエラー } } |
- コンパイルするための例1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
public class Main{ public static void main(String[] args){ method1(); } private static void method1(){ method2(); } private static void method2(){ try{ throw new Exception(); }catch(Exception e){ [crayon-647afb6109a3a989604929 ]<code>} |
}
}
[/crayon]
- コンパイルするための例2
1 2 3 4 5 6 7 8 9 10 11 |
public class Main{ public static void main(String[] args) throws Exception{ method1(); } private static void method1() throws Exception{ method2(); } private static void method2() throws Exception{ throw new Exception(); } } |
throws指定されたメソッドの呼出し
1 2 3 4 5 6 7 8 9 10 11 |
class MethodClass{ void method() throws Exception{ System.out.println("MethodClass"); } } public class MainClass{ public static void main(String[] args){ MethodClass mc = new MethodClass(); mc.method(); } } |
- method()にthrows Exceptionを指定しているためコンパイルエラー
- 9行目をtry~catchで例外処理を定義するか、mainメソッドにthrows Exceptionを指定するとコンパイル出来る
きれいごとでも理想的な解答を選択した方が良い!!
- APIドキュメントを読むなど!!
2つ選択するとかちゃんと読む!!
- 問題が何を求めているかを落ち着いてちゃんと読む!!
最後までお読みいただきましてありがとうございました!
【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。
【PR】 「AWSではじめるLinux入門ガイド」という本を書きました。
【PR】 「ポケットスタディ AWS認定 デベロッパーアソシエイト」という本を書きました。
【PR】 「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル」という本を書きました。

開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
Java SE 7 Silver対策勉強をしながらメモ 2015/2/1
本日は繰り返し処理。 配列や演算でひっかけてくる問題に苦戦。 繰り返しだけに頭を …
-
-
ゴールデンウィーク10日連続デモ解説勉強会にチャレンジします
これまでに執筆した書籍の関連デモを解説する30分の勉強会を4/29~5/8の10 …
-
-
LINEとAWSとTwilioとkintoneでBOTを作ってみるハンズオン (6) Twilioからの電話受付と登録処理
作るところ 電話がかかってきてTwilioで受け付けてStepFunctions …
-
-
トラックボールユーザー集合!確実に何かが始まった日。
Logcool社のトラックボールマウス M570や他のトラックボールマウスを愛用 …
-
-
「Bluemix勉強会 -Watson、Node-RED 最新情報を学ぼう!」に行ってきました
「Bluemix勉強会 -Watson、Node-RED 最新情報を学ぼう! 」 …
-
-
EC-CUBE3.0 コードリーディング勉強会第1回目に行ってきました
EC-CUBE3.0 コードリーディング勉強会第1回目に行ってきました。 ECサ …
-
-
JAWS DAYS 2021の思い出(配信とランニング)
JAWS DAYS 2021前夜 前日は移動があったので、前夜祭をモバイルで見聞 …
-
-
「JAWS-UG佐賀 3年ぶり!re:Bootするよ!」に参加しました
全員自己紹介からスタートしました。 さくさくっとマイクをまわしてなんと10分まき …
-
-
AKIBA.AWS ONLINE #05 – AWSスキルアップ編で発表しました
AKIBA.AWS ONLINE #05 – AWSスキルアップ 編に発表参加し …
-
-
Alexa Day 2018 で「金融機関向けAmazon Echo/Alexaへの取り組み事例紹介」を聞きました
Alexa Day 2018 で「金融機関向けAmazon Echo/Alexa …