019-003-007

複数キャッチブロックの基本

初級

問題説明

複数キャッチブロックの基本

この問題では: 文字列引数を受け取るprocessメソッドで整数変換と除算を行い、発生した例外の種類(NumberFormatExceptionまたはArithmeticException)に応じて個別のcatchブロックで異なるエラーメッセージを表示するプログラムを作成します。

学習目標: 異なる種類の例外を個別のcatchブロックで処理する方法を理解する

概要

メソッドprocess(String input)を定義し、引数に応じて異なる例外が発生する可能性がある処理を行います。複数のcatchブロックを使って、例外の種類ごとに適切なエラーメッセージを出力するプログラムを作成してください。

仕様

Mainクラス

  • static int process(String input) メソッドを定義する
    • inputInteger.parseInt(input)で整数に変換する
    • 変換結果をresultとし、100 / resultを計算して返す(例外はキャッチせず呼び出し元に伝播させる)
  • mainメソッドで以下の3つのケースを順に実行する
    • process("abc") を呼び出す(NumberFormatExceptionが発生)
    • process("0") を呼び出す(ArithmeticExceptionが発生)
    • process("4") を呼び出す(正常に処理される)
  • process呼び出しはtry-catchで囲み、以下のcatchブロックを持つ
    • NumberFormatExceptionをキャッチし "Format error: " + e.getMessage() を出力する
    • ArithmeticExceptionをキャッチし "Math error: " + e.getMessage() を出力する
    • 例外が発生しない場合は "Result: " + result を出力する

出力形式

Format error: For input string: "abc"
Math error: / by zero
Result: 25

コードを実行してみませんか?

この問題のコードエディタと実行機能を使用するには、ログインしてください。

アカウントをお持ちでない方

新規登録