 
  Data Structure Data Structure
 Networking Networking
 RDBMS RDBMS
 Operating System Operating System
 Java Java
 MS Excel MS Excel
 iOS iOS
 HTML HTML
 CSS CSS
 Android Android
 Python Python
 C Programming C Programming
 C++ C++
 C# C#
 MongoDB MongoDB
 MySQL MySQL
 Javascript Javascript
 PHP PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Can we throw an Unchecked Exception from a static block in java?
A static block is a block of code with a static keyword. In general, these are used to initialize the static members. JVM executes static blocks before the main method at the time of class loading.
Example
public class MyClass {    static{       System.out.println("Hello this is a static block");    }    public static void main(String args[]){       System.out.println("This is main method");    } }  Output
Hello this is a static block This is main method
Exceptions in static block
Just like any other method in Java when an exception occurs in static block you can handle it using try-catch pair.
Example
import java.io.File; import java.util.Scanner; public class ThrowingExceptions{    static String path = "D://sample.txt";    static {       try {          Scanner sc = new Scanner(new File(path));          StringBuffer sb = new StringBuffer();          sb.append(sc.nextLine());          String data = sb.toString();          System.out.println(data);       } catch(Exception ex) {          System.out.println("");       }    }    public static void main(String args[]) {    } } Output
This is a sample fileThis is main method
Throwing exceptions in static block
Whenever you throw a checked exception you need to handle it in the current method or, you can throw (postpone) it to the calling method.
You cannot use throws keyword with a static block, and more over a static block is invoked at compile time (at the time of class loading) no method invokes it.
Herefore, if you throw an exception using the throw keyword in a static block you must wrap it within try-catch blocks else a compile time error will be generated.
Example
import java.io.FileNotFoundException; public class ThrowingExceptions{    static String path = "D://sample.txt";    static {       FileNotFoundException ex = new FileNotFoundException();       throw ex;    }    public static void main(String args[]) {    } } Compile time error
ThrowingExceptions.java:4: error: initializer must be able to complete normally       static {       ^ ThrowingExceptions.java:6: error: unreported exception FileNotFoundException; must be caught or declared to be thrown       throw ex;       ^ 2 errorsAdvertisements
 