catch-or-declare rule
Java's compile-time rule that a checked exception a method can throw must be caught there or declared with throws.
javac reports "unreported exception X; must be caught or declared to be thrown", and also rejects a catch for a checked exception the try block can't throw.
See also