Beispiel

public static void main (String[] args){
int value = 0;
try {
value = Integer.parseInt( args[ 0 ] );
} catch ( NumberFormatException e0 ) {
try {
value = Integer.parseInt( args[ 1 ] );
} catch ( NumberFormatException e1 ) {
try {
value = Integer.parseInt( args[ 2 ] );
} catch ( NumberFormatException e2 ) {

}
}
}
}

Lösung
Verwenden Sie das Strategy Design Pattern.
  1. Erstellen Sie eine Schnittstelle, um diese Task auszuführen.
  2. Lassen Sie die Methode, die diese Task ausführt, eine Ausnahmebedingung auslösen.
  3. Versetzen Sie die Klasse mit dem verschachtelten try/catch-Block in einen Strategiecontainer.
  4. Ändern Sie den verschachtelten try/catch-Block in eine for-Schleife.
  5. Wenden Sie die Strategien an, solange sich eine Ausnahmebedingung in der Schleife befindet.

public static void main (String[] args){
int value = 0;
for ( int i = 0; i < args.length; i++ ) {
try {
value = Integer.parseInt( args[ i ] );
break ;
} catch ( NumberFormatException e ) {
// Ausnahmebedingung ignorieren
}
}

}