import java.io.InterruptedIOException;
import java.nio.file.FileSystemException;
class Test {
try {
// compiler knows the exact class of the exception, so we do not have
// to define one in the `catch` block explicitly
// do something with the exception (logging?)
throw ex;
}
}
try {
if (i < 0) {
} else {
throw new FileSystemException("test");
}
// do something with the exception (logging?)
throw ex; // compile-time error
}
}
}
aW1wb3J0IGphdmEuaW8uSW50ZXJydXB0ZWRJT0V4Y2VwdGlvbjsKaW1wb3J0IGphdmEubmlvLmZpbGUuRmlsZVN5c3RlbUV4Y2VwdGlvbjsKCmNsYXNzIFRlc3QgewogICAgcHVibGljIHZvaWQgZm9vKCkgdGhyb3dzIEludGVycnVwdGVkSU9FeGNlcHRpb24gewogICAgICAgIHRyeSB7CiAgICAgICAgCS8vIGNvbXBpbGVyIGtub3dzIHRoZSBleGFjdCBjbGFzcyBvZiB0aGUgZXhjZXB0aW9uLCBzbyB3ZSBkbyBub3QgaGF2ZQogICAgICAgIAkvLyB0byBkZWZpbmUgb25lIGluIHRoZSBgY2F0Y2hgIGJsb2NrIGV4cGxpY2l0bHkKICAgICAgICAgICAgdGhyb3cgbmV3IEludGVycnVwdGVkSU9FeGNlcHRpb24oKTsKICAgICAgICB9IGNhdGNoIChFeGNlcHRpb24gZXgpIHsKICAgICAgICAgICAgLy8gZG8gc29tZXRoaW5nIHdpdGggdGhlIGV4Y2VwdGlvbiAobG9nZ2luZz8pCiAgICAgICAgICAgIHRocm93IGV4OwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgdm9pZCBiYXIoaW50IGkpIHRocm93cyBJbnRlcnJ1cHRlZElPRXhjZXB0aW9uIHsKICAgICAgICB0cnkgewogICAgICAgICAgICBpZiAoaSA8IDApIHsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBJbnRlcnJ1cHRlZElPRXhjZXB0aW9uKCk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRmlsZVN5c3RlbUV4Y2VwdGlvbigidGVzdCIpOwogICAgICAgICAgICB9CiAgICAgICAgfSBjYXRjaCAoRXhjZXB0aW9uIGV4KSB7CiAgICAgICAgCS8vIGRvIHNvbWV0aGluZyB3aXRoIHRoZSBleGNlcHRpb24gKGxvZ2dpbmc/KQogICAgICAgICAgICB0aHJvdyBleDsgLy8gY29tcGlsZS10aW1lIGVycm9yCiAgICAgICAgfQogICAgfQp9