Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaでArithmeticException(チェックされていない)を処理する方法は?


java.lang.ArithmeticException 未チェックの例外です Javaで。通常、 java.lang.ArithmeticException:/ by zeroに遭遇します。 これは、2つの数値を除算することを試みたときに発生します。 分母の数はゼロです ArithmeticException オブジェクトはJVMによって構築される場合があります 。

例1

public class ArithmeticExceptionTest {
   public static void main(String[] args) {
      int a = 0, b = 10;
      int c = b/a;
      System.out.println("Value of c is : "+ c);
   }
}

上記の例では、 ArithmeticExeption 分母の値がゼロであるために発生します。

  • java.lang.ArithmeticException :分割中にJavaによってスローされた例外。
  • /ゼロで :は ArithmeticExceptionに与えられる詳細メッセージです ArithmeticExceptionの作成中のクラス オブジェクト

出力

Exception in thread "main" java.lang.ArithmeticException: / by zero
      at ArithmeticExceptionTest.main(ArithmeticExceptionTest.java:5)


ArithmeticExceptionの処理方法

ArithmeticExceptionを処理しましょう 試してキャッチを使用する ブロック。

  • ArithmeticExceptionをスローする可能性のあるステートメントを囲みます 試してキャッチ ブロック。
  • キャッチできます ArithmeticException
  • 実行は実行しないため、プログラムに必要なアクションを実行します 中止

例2

public class ArithmeticExceptionTest {
   public static void main(String[] args) {
      int a = 0, b = 10 ;
      int c = 0;
      try {
         c = b/a;
      } catch (ArithmeticException e) {
         e.printStackTrace();
         System.out.println("We are just printing the stack trace.\n"+ "ArithmeticException is handled. But take care of the variable \"c\"");
      }
      System.out.println("Value of c :"+ c);
   }
}

例外の場合 発生すると、実行はキャッチになります ブロック 例外の発生時点から。 catchブロックのステートメントを実行します 試してキャッチした後に存在するステートメントを続行します ブロック。

出力

We are just printing the stack trace.
ArithmeticException is handled. But take care of the variable "c"
Value of c is : 0
java.lang.ArithmeticException: / by zero
        at ArithmeticExceptionTest.main(ArithmeticExceptionTest.java:6)

  1. JavaでJFrameを画面の中央に表示するにはどうすればよいですか?

    JFrame フレームのサブクラスです クラスとフレームに追加されたコンポーネントはそのコンテンツと呼ばれ、これらは contentPaneによって管理されます。 。コンポーネントをJFrameに追加して、その contentPaneを使用できます。 代わりに 。 JFrameはウィンドウのようなものです 境界線、タイトル、ボタン付き。 JFrameを使用してほとんどのJavaSwingアプリケーションを実装できます。 デフォルトでは、JFrameは左上の位置に表示できます。 画面の。 setLocationRelativeTo()を使用して、JFrameの中心位置を表示できます。 ウ

  2. JavaでinvokeLater()メソッドを呼び出すにはどうすればよいですか?

    invokeLater() メソッドは静的です SwingUtilitiesのメソッド クラスであり、タスクを非同期に実行するために使用できます。 AWT イベントディスパッチャスレッド 。 SwingUtilities.invokeLater() メソッドはSwingUtilities.invokeAndWait()のように機能します ただし、リクエストはイベントキューに配置されます そしてすぐに戻る 。 invokeLater() メソッドは、実行可能内のコードのブロックを待機しません ターゲットによって参照されます 実行します。 構文 public static void in