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認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。


開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
GW勉強会を開催しました ~「AWSではじめるLinux入門ガイド」出版記念~
2020年ゴールデンウィークの5/2~5/6の午前に連続勉強会を開催しました。 …
-
-
「大阪Pythonユーザの集まり」に行ってきました
「大阪Pythonユーザの集まり」 に行ってきました。 あんまりメモ取れてません …
-
-
「Serverless Days Tokyo 2023 Keynote」を見ました
2023/9/23にServerless Days Tokyo 2023に参加し …
-
-
「RPA勉強&LT会!RPALT vol1@Innovation Space DEJIMA」でLTしました
「RPA勉強&LT会!RPALT vol1@Innovation Space D …
-
-
「JAWS-UG 四国クラウドお遍路」からの特急南風にて変わり続けなければならないなあと思った
「JAWS-UG 四国クラウドお遍路」というAWSのユーザーグループJAWS-U …
-
-
「JAWS-UG京都 最新のAIを本気で学ぼう」に参加しました
前日 京都タワーの地下のフードホールで運営メンバーのみなさんとご飯食べてました。 …
-
-
Agile Japan 2015 大阪サテライト「アジャイル開発への架け橋」に行ってきました
Agile Japan 2015 大阪サテライトに行ってきました。 具体的な目的 …
-
-
「JAWS-UG朝会 #18」で主にAWSなブログについて発表をしました
ラジオ体操 いつものラジオ体操から。 今日はラーニングセンターから配信の日でした …
-
-
Developers Summit 2018 「事例2本立て!Redmineユーザ達が語る現場定着化への取組みと導入アンチパターン」を聞きました
以下は、思ったことや気になったことをメモしていますので、必ずしも登壇者の発表内容 …
-
-
Java SE 7 Silver対策勉強をしながらメモ 2015/2/2
本日はクラス定義とオブジェクト。 一気に範囲が広がった感。 いつものごとくマーク …