Przykład

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 ) {

}
}
}
}

Rozwiązanie
Użyj wzorca projektu strategii.
  1. Utwórz interfejs do wykonania zadania.
  2. Zmień metodę wykonującą dane zadanie, tak aby zgłosiła wyjątek.
  3. Utwórz klasę zawierającą zagnieżdżony blok try/catch w kontenerze strategii.
  4. Zamień zagnieżdżony blok try/catch na pętlę for.
  5. Gdy w pętli wystąpi wyjątek, zastosuj strategie.

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 ) {
// Zignoruj wyjątek
}
}

}