int fd = open(file_name, O_RDWR);
if (fd == -1) handle_error("open");
struct stat sb;
if (fstat(fd, &sb) == -1) handle_error("fstat");
char *addr = mmap(NULL, sb.st_size, /* more parameters */);
if (addr == MAP_FAILED) handle_error("mmap");

throwvoid foo(int bar) throws IOException, FileNotFoundException {
if (...) throw new IOException();
if (...) throw new FileNotFoundException();
// Unchecked: (später mehr)
if (...) throw new IllegalArgumentException();
}
try-catchtry {
...
} catch (ExceptionType e) {
...
} catch (ExceptionType2 | ExceptionType3 e) {
...
}
RuntimeException, Error und UnterklassenNullPointerException
finallytry {
...
} catch (ExceptionType e) {
...
} finally {
...
}
try-with-resourcestry (BufferedReader reader = new BufferedReader(new FileReader("f.txt"))) {
...
} catch (IOException e) {
...
}
try-with-resources schließt Resourcen automatischtry {
for (int i = 0; array[i] != x; ++i);
return true;
} catch (ArrayIndexOutOfBoundsException e) {
return false;
}
try-Blöckecatch-BlöckeException oder Throwable…kann dann erfolgreich eingesetzt werden, wenn das Optimierungsproblem aus vielen gleichartigen Teilproblemen besteht, und eine optimale Lösung des Problems sich aus optimalen Lösungen der Teilprobleme zusammensetzt
