(Microsoft PowerPoint - \223\306\217KJAVA\221\346\202R\224\ ppt)

Similar documents
Microsoft PowerPoint ppt

新・明解Java入門

PowerPoint プレゼンテーション

Microsoft PowerPoint - prog09.ppt

Microsoft PowerPoint - prog09.ppt

ÿþ˜u#u·0¹0Æ0à0

Prog2_9th

PowerPoint プレゼンテーション

オブジェクト指向プログラミング・同演習 5月21日演習課題

Prog1_10th

PowerPoint Presentation

例外処理とファイル入出力

第二回独習 Java ゼミ 第二章クラスとメソッド 2.1 メソッドの構造 2.2 静的メソッドと静的変数の概要 2.3 インスタンスメソッドとインスタンス変数の概要 2.4 Integerクラス 2006/04/19 神津健太

Javaプログラムの実行手順

基本情報STEP UP演習Java対策

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

プログラミング基礎I(再)

12.1 インターネットアドレス インターネットアドレス インターネットアドレス 32 ビットの長さを持つインターネットに接続されたマシンを識別するのに使う インターネットアドレスは ピリオドで区切られたトークンの並びで表現されることもある インターネットアドレス

Javaセキュアコーディングセミナー東京 第3回 入出力(File, Stream)と例外時の動作 演習解説

Exam : 1z1-809-JPN Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z1-809-JPN Exam's Question and Answers 1 from Ac

Java プログラミング Ⅰ 3 回目変数 変数 変 数 一時的に値を記憶させておく機能型 ( データ型 ) と識別子をもつ 2 型 ( データ型 ) 変数の種類型に応じて記憶できる値の種類や範囲が決まる 型 値の種類 値の範囲 boolean 真偽値 true / false char 2バイト文

Microsoft Word - problem3.doc

Microsoft PowerPoint - prog03.ppt

Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問

2016 年度 JAVA 講座第六週目 目次 パッケージ... 2 パッケージの作成... 2 パッケージの使用方法... 3 異なるパッケージ同名クラスの宣言... 4 パッケージの側面から見たアクセス修飾子... 4 ラッパークラス... 5 ラッパークラス利用法:キャスト... 5 ラッパーク

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

メソッドのまとめ

Javaセキュアコーディングセミナー東京 第2回 数値データの取扱いと入力値の検証 演習解説

text_10.dvi

2

Make the Future Java FY13 PPT Template

JAVA入門

GEC-Java

Java プログラミング Ⅰ 3 回目変 数 今日の講義講義で学ぶ内容 変数とは 変数の使い方 キーボード入力の仕方 変 数 変 数 一時的に値を記憶させておく機能 変数は 型 ( データ型 ) と識別子をもちます 2 型 ( データ型 ) 変数に記憶する値の種類変数の型は 記憶できる値の種類と範囲

Javaセキュアコーディングセミナー2013東京第1回 演習の解説

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 条件判断文 3 switch 文 switch 文式が case の値と一致した場合 そこから直後の break; までを処理し どれにも一致しない場合 default; から直後の break; までを処理する 但し 式や値 1

PowerPoint プレゼンテーション

JavaプログラミングⅠ

** 平成 16 年度 FE 午後問題 Java** 示現塾プロジェクトマネージャ テクニカルエンジニア ( ネットワーク ) など各種セミナーを開催中!! 開催日 受講料 カリキュラム等 詳しくは 今すぐアクセス!! 平成 16

Java講座

JavaプログラミングⅠ

リファレンス,配列 例外処理

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の break; まで処理しますどれにも一致致しない場合 def

デジタル表現論・第4回

Java知識テスト問題

Prog1_15th

た場合クラスを用いて 以下のように書くことが出来る ( 教科書 p.270) プログラム例 2( ソースファイル名 :Chap08/AccountTester.java) // 銀行口座クラスとそれをテストするクラス第 1 版 // 銀行口座クラス class Account String name

Animals サンプル Step 2 張り付けた動物の上をクリックすると それぞれの鳴き声で鳴く < 例外について > エラーや 通常の処理の中では起こってはいけない事象のことを例外といい 例外が起こる可能性がある場合はその対応処理を記述しなければならない 一般に java.lang パッケージの

JavaプログラミングⅠ

スライド 1

Microsoft Word - keisankigairon.ch doc

Java (9) 1 Lesson Java System.out.println() 1 Java API 1 Java Java 1


K227 Java 2

Prog1_3rd

Microsoft PowerPoint - prog04.ppt

メディプロ1 Javaプログラミング補足資料.ppt

Javaの作成の前に

Programming-C-9.key

ガイダンス

break 文 switch ブロック内の実行中の処理を強制的に終了し ブロックから抜けます switch(i) 強制終了 ソースコード例ソースファイル名 :Sample7_1.java // 入力値の判定 import java.io.*; class Sample7_1 public stati

Microsoft PowerPoint - prog13.ppt

r1.dvi

Microsoft PowerPoint - prog13.ppt

Java言語 第1回

JavaプログラミングⅠ

JavaプログラミングⅠ

Microsoft PowerPoint - OOP.pptx

クラスⅠ

文字列操作と正規表現

Prog1_6th

問題1 以下に示すプログラムは、次の処理をするプログラムである

目的 泡立ち法を例に Comparableインターフェイスの実装 抽象クラスの利用 型パラメタの利用 比較 入替 の回数を計測

PowerPoint プレゼンテーション

JavaプログラミングⅠ

問 次の Fortran プログラムの説明及びプログラムを読んで、設問に答えよ。

(Microsoft PowerPoint - \223\306\217KJava\221\346\202R\224\305.ppt)

Microsoft PowerPoint - lec06 [互換モード]

問 次の Fortran プログラムの説明及びプログラムを読んで、設問に答えよ。

9.3 同期 共有データへの読み書きの同期 複数のスレッドから共有データを読み書きするときに発生する問題について 一つのフィールドに対して複数のスレッドが同時にアクセスする可能性がある場合 その順番によっては整合性が保てなくなる可能性があるので スレッドの制御フローが独立していては困ることがある 次

IE6 2 BMI chapter1 Java 6 chapter2 Java 7 chapter3 for if 8 chapter4 : BMI 9 chapter5 Java GUI 10 chapter6 11 chapter7 BMI 12 chap

スライド 1

GEC-Java

問題1 以下に示すプログラムは、次の処理をするプログラムである

PowerPoint Presentation

プログラムの基本構成

プログラミングA

JavaプログラミングⅠ

デジタル表現論・第6回

< F2D B838A835882CC8CF68EAE2E6A7464>

ガイダンス

やさしいJavaプログラミング -Great Ideas for Java Programming サンプルPDF

HCI プログラミング 10 回目テキストフィールドとキーイベント 今日の講義で学ぶ内容 テキストフィールドの利用 キーイベントの処理 テキストフィールドの利用 1 テキストフィールドを配置してみましょう テキストフィールドを用いることにより 数値や文字列などのデータ入力が可能になります ソースファ

Microsoft PowerPoint - ●SWIM_ _INET掲載用.pptx

できるプログラマーを本気で育てる Java 超 Webプログラマーへの第 歩 第 2 回オブジェクト指向 テクノロジックアート 瀬 嘉秀

目 次 Java GUI 3 1 概要 クラス構成 ソースコード例 課題...7 i

ガイダンス

第 1 章 Java 言語について ( オブジェクト指向, 変数の扱い方, 繰り返し条件と条件分岐 ) Java 言語の概要とオブジェクト指向, 変数の扱い方, 繰り返し条件と条件分岐について理解し, プログラム作成を行う 1.1 Java 言語の概要 JAVA は Sun Microsystems

ガイダンス

解答上の注意 1 解答は 解答 紙の問題番号に対応した解答欄にマークしなさい 2 選択肢は 問ごとに 意されています 問 1の選択肢は 問 2で使 しません 3 選択肢は量が多いため 探しやすさの観点よりグループ分けされています グループ分けに合わせて解答欄が区切られていますが 横 1 列で問題 1

Transcription:

独習 JAVA 第 3 版 8.4 例外とエラークラス 8.5 throws ステートメント 8.6 独自の例外

Throwable コンストラクタ catch ブロックには Throwable 型のパラメータが必ず 1 つなければならない Throwable コンストラクタ Throwable() Throwable( String message ) message には問題を通知する文字列のメッセージ

Throwable クラスのメソッド Throwable クラスのメソッドは次の 2 つ getmessage() メソッド構文 :String getmessage() 説明 : コンストラクタから提供された文字列を返す printstacktrace() メソッド構文 :void printstacktrace() 説明 : 問題が発生した時点でのスタック情報を表示

エラークラス (1/3) Error クラス Throwable クラスを拡張する JVM で検出される可能性がある重大な問題を表すサブクラスが 10 以上ある

エラークラス (2/3) Exception クラス 構文 : Exception() Exception(Stringmessage) message は問題を通知する文字列のメッセージ 説明 : Throwable クラスを拡張する実行時に発生する可能性がある様々な問題を表すサブクラスがある

エラークラス (3/3) RuntimeException クラス 構文 : RuntimeException() RuntimeException(Stringmessage) message は問題を通知する文字列のメッセージ 説明 : Exception の最も重要なサブクラスプログラムの実行中に発生する頻度の高い問題を表す

throws ステートメント (1/3) 呼び出し元に対して例外を投げる可能性があるメソッドを書いた場合 どの例外が投げられるのか示しておくと便利 投げられる例外を明示するにはコンストラクタ内の throws ステートメントを使用

throws ステートメント (2/3) コンストラクタ内の throws ステートメント consmodifiers clsname(cparams) throws exceptions { // コンストラクタの本体 consmodifiers: 修飾子のリスト ( 省略可能 ) clsname : クラス名 cparams : コンストラクタのパラメータ ( 省略可能 ) exceptions : このコンストラクタから投げられる可能性がある例外クラスをカンマで区切って並べたもの

throws ステートメント (3/3) メソッドの宣言での throws ステートメントの記述 mthmodifiers rtype mthname(mparams) throws exceptions { // メソッドの本体 mthmodifiers: 修飾子のリスト ( 省略可能 ) rtype:mthname というメソッドの戻り値の型 mparams: パラメータ ( 省略可能 ) excptions: このメソッドで投げられる可能性がある例外クラスをカンマで区切って並べたもの

throws ステートメントの例 class ThrowsDemo { public static void main(string args[]) { a(); public static void a() { try { b(); catch (ClassNotFoundException e) { e.printstacktrace(); 例外を捕獲 public static void b() throws ClassNotFoundException { c(); throwsステートメントを宣言 public static void c() throws ClassNotFoundException { Class cls = Class.forName("java.lang.Integer"); System.out.println(cls.getName()); System.out.println(cls.isInterface());

例の説明 例では main() メソッドから a() メソッドを呼び出し a() メソッドから b() メソッド b() メソッドから c() メソッドを呼び出している ClassNotfoundException 例外が投げられる可能性がある この例外は RuntimeExcption のサブクラスではないため 投げられる可能性がある全てのメソッドで例外を捕獲または宣言する必要がある

独自の例外 Java には Exception のサブクラスとして独自の例外クラスを作成する機能がある 例外のインスタンスを投げるには throws ステートメントを使用

独自の例外の例 import java.util.*; class ExceptionSubclass { public static void main(string args[]) { a(); static void a() { try { b(); catch (Exception e) { e.printstacktrace(); static void b() throws ExceptionA { try { c(); catch (ExceptionB e) { e.printstacktrace(); static void c() throws ExceptionA, ExceptionB { Random random = new Random(); int i = random.nextint(); if (i % 2 == 0) { throw new ExceptionA("We have a problem"); else { throw new ExceptionB("We have a big problem"); class ExceptionA extends Exception { public ExceptionA(String message) { super(message); class ExceptionB extends Exception { public ExceptionB(String message) { super(message);

例の説明 ExceptionA クラス ExceptionB クラスは Exception クラスを拡張 c() メソッドはランダムでどちらの例外を投げるか決める b() メソッドでは throws ステートメントを使って ExceptionA 例外を宣言 ExceptionB 例外は catch ブロックで捕獲 a() メソッドでは全ての例外を捕獲

課題 class ErrorTest { public static void main( String args[] ) { int m1, m2 ; try { m1 = Integer.valueOf(args[0]).intValue() ; m2 = Integer.valueOf(args[1]).intValue() ; catch( ArrayIndexOutOfBoundsException e ) { e.printstacktrace() ; try{ a( m1, m2 ) ; catch( ArithmeticException e ) { e.printstacktrace() ; これは二つの整数を受け取り それをもとに除算するプログラムである 引数が足りないとき 0 で除算することになったとき例外処理を行っているが 問題点がある その問題点を指摘し 改善せよ public static void a( int a1, int a2 ) { try { b( a1, a2 ) ; catch( NullPointerException e ) { e.printstacktrace() ; public static void b( int b1, int b2 ) { int i = b1 ; int j = b2 ; try { System.out.println( (float)i/j ); catch( NullPointerException e ) { e.printstacktrace();