OOP mit Java: Abfangen von Ausnahmen |
Regeln: Statement :: ... TryStatement ...
TryStatement try Block Catches
try Block Catches Finally
Catches CatchClause
Catches CatchClause
CatchClause catch ( Type Identifier ) Block
Finally finally Block
Block { ... }
|
try {
// Anweisungen, die eine
// Ausnahme auslösen können
...
}
catch (FirstException e ) {
// Anweisungen für die Behandlung
// einer FirstException
...
}
catch (SecondException e ) {
// Anweisungen für die Behandlung
// einer SecondException
...
}
finally {
// Anweisungen, die
// immer ausgeführt werden
...
}
|
int a,b,c;
...
try {
a = b/c;
}
catch ( ArithmeticException e ) {
a = ( b > 0)
? Integer.MAXVALUE
: Integer.MINVALUE;
}
|
class Ausnahme1 {
public static
void main(String[] args) {
int i = 0;
try {
i = Integer.parseInt(args[0]);
}
catch ( NumberFormatException e ) {
System.out.println("1. Parameter keine Zahl");
}
catch ( ArrayIndexOutOfBoundsException e ) {
System.out.println("Parameter fehlt");
}
System.out.println("Parameter = " + i);
}
}
|
class Ausnahme2 {
public static
void main(String[] args) {
int i = 0;
try {
i = Integer.parseInt(args[0]);
}
catch ( Exception e ) { }
System.out.println("i = " + i);
}
}
==> |
try {
...
}
catch ( IndexOutOfBoundsException e ) {
...
}
catch ( ArrayIndexOutOfBoundsException e ) {
...
}
|
int [] a;
...
void doIt() {
try {
// temporäres globales Feld
// erzeugen
a = new int [100];
// Berechnungen auf dem Feld a
...
}
finally {
// a freigeben
a = null;
}
}
|
Letzte Änderung: 14.02.2012 | © Prof. Dr. Uwe Schmidt |