From JLS §11.2.3:
It is a compile-time error if a class variable initializer (§8.3.2) or static initializer (§8.7) of a named class or interface can throw a checked exception class.
For completeness, an unchecked exception is defined in JLS §11.1.1:
RuntimeException
and all its subclasses are, collectively, the run-time exception classes.The unchecked exception classes are the run-time exception classes and the error classes.
This is the only type of exception that can be thrown from a static initializer.