Exception Handling, Custom Exceptions & Try-With-Resources
Handle checked vs unchecked exceptions, design custom exception hierarchies, and manage resource cleanup automatically with try-with-resources (AutoCloseable).
Try-With-Resources & AutoCloseable
### Automatic Resource Management (ARM)
Java 7+ try-with-resources automatically invokes `.close()` on resources implementing `AutoCloseable` (File streams, DB connections) upon block exit, even if exceptions are thrown:
```java
try (BufferedReader br = new BufferedReader(new FileReader("file.txt"))) {
System.out.println(br.readLine());
}
```