【Java初心者向け】ArithmeticExceptionとは?エラーの意味・原因・解消方法

本サイトでは、無料プログラミングスクール「アキバ・テックドリーム・アカデミー」(以下、テクドリ)の講師が、未経験者に向けてプログラミングの基礎を解説する記事を公開しています。

今回の記事テーマは「ArithmeticException」についての解説です。

「ArithmeticException」とは

「ArithmeticException:アリスメティックエクセプション」とは、算術計算中に例外的な状況が発生した場合にスローされる例外です。

例えば、

  • 「0」による除算を行った場合
  • 数値がデータ型の範囲を超えてしまった場合

などに発生します。

例外とは

例外(Exception)については、下記の記事にて詳しく解説しています。併せてご参照ください。

関連記事

プログラミングを始めたばかりの方にとって、「例外」という言葉は少し難しく感じるかもしれません。 しかし、例外はプログラムの動作を正しく理解し、扱うために欠かせない重要な概念です。 簡単に言えば、例外とは、プログラムが予期しない事態に[…]

発生例・解消方法

0で除算した場合

値を0で除算した場合、ArithmeticExceptionが発生します。

例外が発生するサンプルコード

class Test {
  public static void main(String[] args) {

    //コマンドライン引数で受け取った値を数値変換
    int firstNum = Integer.parseInt(args[0]);
    int secoundNum = Integer.parseInt(args[1]);

    //除算して表示
    System.out.println(firstNum / secoundNum);
  }
}
実行結果
C:\JAVA>java Test 100 10
10

C:\JAVA>java Test 100 0
Exception in thread "main" java.lang.ArithmeticException: / by zero
        at Test.main(Test.java:9)

解消例(例外処理を記述する場合)

例外処理を記述します。

class Test {
  public static void main(String[] args) {

    //コマンドライン引数で受け取った値を数値変換
    int firstNum = Integer.parseInt(args[0]);
    int secoundNum = Integer.parseInt(args[1]);

    try {

      //除算して表示
      System.out.println(firstNum / secoundNum);

    } catch (ArithmeticException e) {
      System.out.println("0で除算出来ません");
    }
  }
}

実行結果
C:\JAVA>java Test 100 10
10

C:\JAVA>java Test 100 0
0で除算出来ません

解消例(分岐処理で回避する場合)

分岐処理を使って、0以外が入力された場合のみ除算します。

class Test {
  public static void main(String[] args) {

    //コマンドライン引数で受け取った値を数値変換
    int firstNum = Integer.parseInt(args[0]);
    int secoundNum = Integer.parseInt(args[1]);

    if (secoundNum != 0) {

      //除算して表示
      System.out.println(firstNum / secoundNum);

    } else {

      System.out.println("0で除算出来ません");
    }
  }
}

実行結果
C:\JAVA>java Test 100 10
10

C:\JAVA>java Test 100 0
0で除算出来ません

「ArithmeticException」のまとめ

今回は、「ArithmeticException」という例外について解説しました。

「ArithmeticException」は、プログラムの中で算術計算に問題が発生したときにスローされる例外です。
代表的な原因としては「0で割る」といった不正な計算が挙げられます。

この例外が発生した場合は、該当する計算処理において誤りがないかを確認しましょう。

公式「Oracle Help Center」でも詳しく解説されています。併せてご参照ください。

まずは無料説明会・体験セミナー

テックドリームは無料のプログラミングスクールです。「プログラマってどういう仕事?」「自分にできるのかな?」という方も、まずは体験セミナーでプログラミングに触れてみませんか?テックドリームは未経験の方を丁寧にサポートする体制をご用意しています。不安なことや、入校までの疑問点なども気軽にご相談いただけます。

Webかんたん予約

専用の予約フォームより、およそ60秒で簡単にお申込みいただけます。

電話でのご予約

Webかんたん予約ができない場合や、ご質問がございましたら、お気軽にお電話ください。

0120-262-242
9:00~18:00(土日祝を除く)
最新情報をチェックしよう!
>テクド・リム

テクド・リム


「テクドリ」の公式キャラクター。
エンジニアだった父の影響を受けて、夢に向かって日々勉強に励むエンジニアのタマゴ。
夢は「世界を変える、すごいエンジニアになること!」

彼女が通うプログラミングスクールについては「テクドリとは」ページにて紹介中!

CTR IMG