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ブロックを定義するときは下位にサブクラスを書くとコンパイルエラー
- 上位がスーパークラスだとそこでキャッチして到達出来ないコードになるから
[java]
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”);
}
}
[/java]
Exceptionクラスのコンパイルエラーの例としてはいささか強引だが
- これはコンパイルエラー
[java]
public class Main{
public static void main(String[] args){
method1();
}
private static void method1(){
method2();
}
private static void method2(){
throw new Exception();//ここでコンパイルエラー
}
}
[/java]
- コンパイルするための例1
[java]
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){
|
1 2 |
} |
}
}
[/java]
- コンパイルするための例2
[java]
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();
}
}
[/java]
throws指定されたメソッドの呼出し
[java]
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();
}
}
[/java]
- method()にthrows Exceptionを指定しているためコンパイルエラー
- 9行目をtry~catchで例外処理を定義するか、mainメソッドにthrows Exceptionを指定するとコンパイル出来る
きれいごとでも理想的な解答を選択した方が良い!!
- APIドキュメントを読むなど!!
2つ選択するとかちゃんと読む!!
- 問題が何を求めているかを落ち着いてちゃんと読む!!
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。
「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
LINEとAWSとTwilioとkintoneでBOTを作ってみるハンズオン (4)Step Functionsで複数のLambdaを実行制御する
作る部分 Step Functionsでこれまで作ったLambdaの実行制御をし …
-
-
Innovation EGG 第4回 『各クラウドの現状とこれから』に参加してきました!
Innovation EGG 第4回 『各クラウドの現状とこれから』に参加させて …
-
-
Manabees Drone Experience at.OSAKA VOL.5(ドローン飛行イベント)に行ってきました
ドローン飛行イベントなるものがDoorkeeperに出てたので行ってきました。 …
-
-
Java SE 7 Silver対策勉強をしながらメモ 2015/2/1
本日は繰り返し処理。 配列や演算でひっかけてくる問題に苦戦。 繰り返しだけに頭を …
-
-
AWS Summit 2016 Tokyoに参加してきました (Day2)
馬込は非常に良い天気です。 泊まっている部屋が2Fでしたので窓を明けると歩いてい …
-
-
Java SE 7 Silver対策勉強をしながらメモ 2015/2/10
練習問題3日目。 疲れてきた。 でも明日は休みだし一気にやる。 いつものごとくマ …
-
-
Rapidminerハンズオン勉強会に行ってきました
機械学習 OSSのRapidminerの勉強会に行ってきました。 OSS BI …
-
-
Developers Summit 2024「クラウドのポテンシャルを引き出す鍵 – ポータビリティと分散コンピューティングの実践」を見ました
アカマイ・テクノロジーズ合同会社 シニア・テクニカル・ソリューション・アーキテク …
-
-
JAWS FESTA 東海道 2016に行ってきました
JAWS FESTA 2016に行ってきました。 今回はボランティアスタッフ参加 …
-
-
Java SE 7 Silver対策勉強をしながらメモ 2015/1/30
本日は配列です。 いつものごとくマークダウンで記載したのでそのままJetpack …
