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

Javaで静的ブロックから例外をスローする方法は?


静的ブロック main()メソッドの実行前にJVMによって実行されるステートメントのセットです。クラスの読み込み時に、アクティビティを実行する場合は、静的ブロック内でそのアクティビティを定義する必要があります。 このブロックはクラスの読み込み時に実行されるためです 。

静的ブロックから例外をスローする

  • 静的ブロック RunTimeExceptionのみをスローできます 、またはチェックされた例外をキャッチするためのtryandcatchブロックが必要です。
  • 静的ブロック クラスがクラスローダーによってロードされるときに発生します。コードは、静的ブロックの形式で提供されます。 または、静的データメンバーを初期化するための静的メソッドの呼び出しとして。
  • どちらの場合も、チェックされた例外 コンパイラでは許可されていません。 未チェックの例外の場合 発生すると、 ExceptionInInitializerErrorでラップされます 、クラスの読み込みをトリガーしたスレッドのコンテキストでスローされます。
  • 静的ブロックからチェックされた例外をスローしようとしています また、不可能です。静的ブロックにtryandcatchブロックを含めることができます。この場合、チェックされた例外がtryブロックからスローされる可能性がありますが、catchブロック内で解決する必要があります。 throwキーワードを使用してそれをさらに伝播することはできません。

public class StaticBlockException {
   static int i, j;
   static {
      System.out.println("In the static block");
      try {
         i = 0;
         j = 10/i;
      } catch(Exception e){
         System.out.println("Exception while initializing" + e.getMessage());
         throw new RuntimeException(e.getMessage());
      }
   }
   public static void main(String args[]) {
      StaticBlockException sbe = new StaticBlockException();
      System.out.println("In the main() method");
      System.out.println("Value of i is : "+i);
      System.out.println("Value of j is : "+ j);
   }
}

出力

In the static block
Exception while initializing/ by zero
Exception in thread "main" java.lang.ExceptionInInitializerError
Caused by: java.lang.RuntimeException: / by zero
        at StaticBlockException.(StaticBlockException.java:10)

  1. JavaでCSVファイルからデータを読み取る方法は?

    CSV カンマ区切り値の略です 。 CSVファイルでは、各行にカンマ(、)で区切られた単語が含まれています そしてそれは 。csvとともに保存されます 拡張機能。 readLine()を使用して、CSVファイルを1行ずつ読み取ることができます BufferedReaderのメソッド クラス。各行をコンマ文字で分割して、その行の単語を配列に入れます。これで、配列を反復処理するか、適切なインデックスを使用して、配列の内容を簡単に印刷できます。 CSVファイル 例 import java.io.*; public class CSVReaderTest {    p

  2. Windows10でWebサイトを開くのをブロックする方法

    Webサイトは、Webページやマルチメディアコンテンツなどの関連するネットワークWebリソースのコレクションであり、通常は共通のドメイン名で識別され、少なくとも1つのWebサーバーで公開されます。たとえば、オフィスで使用するようにコンピューターを構成したり、自宅で使用するために一部のWebサイトを制限したりするために、特定のWebサイトをブロックする必要がある場合があります。したがって、この記事では、Windows10でWebサイトをブロックする方法を説明します。 Windows 10でWebサイトが開かないようにブロックするにはどうすればよいですか? Windows 10でサイトを