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-62925a50535f4155052224 ]<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インストラクター3年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
「JAWS-UG 新潟 プチキャッチアップ 2021 #3」に参加しました
「当日、始まってからやること決めます。 AWSに関する記事や動画を見ながら、参加 …
-
-
「Rによる機械学習」に参加しました
異業種データサイエンス研究会を主宰されている井伊さんが開催された「Rによる機械学 …
-
-
Manabees Drone Experience at.OSAKA VOL.5(ドローン飛行イベント)に行ってきました
ドローン飛行イベントなるものがDoorkeeperに出てたので行ってきました。 …
-
-
交通情報系スキルを事例に見る日常生活に溶け込むスキルのテクニック(Alexa Day 2019でのブログ)
以下は、気になったことのメモとか感想を書いています。 登壇者、発表者、主催企業な …
-
-
「Botの王道:配達ピザの注文をさばくBotを2時間で開発するワークショップ@大阪」に参加しました
「Botの王道:配達ピザの注文をさばくBotを2時間で開発するワークショップ@大 …
-
-
東大阪メーカーズ・ミートアップ Vol.2に行ってきました
今回初参加で行ってきました。 東大阪メーカーズ・ミートアップとは 「主に東大阪の …
-
-
kintone Café 大阪 vol.11で登壇しました
kintone Café 大阪 vol.11「kintoneと色々つないでみる …
-
-
ヤマムギ vol.6(勉強会) 「LINEとAWS(Lambda,Step Functions,API Gateway)とTwilioとkintoneでBOTを作ってみるハンズオン」を開催しました
2017/8/18に ヤマムギ vol.6 「LINEとAWS(Lambda,S …
-
-
Java SE 7 Silver対策勉強をしながらメモ 2015/2/11
練習問題4日目。 とりあえずひと通り終了。 317問中288問正解、90.85% …
-
-
「JAWS-UG IoT専門支部『re:Invent 2020を味見する会』」に参加しました
本職のMTGで参加遅れちゃいましたので途中からのメモです。 運営のみなさん、発表 …