Příklad

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

}
}
}
}

Řešení
Použijte vzor návrhu strategie.
  1. Vytvořte rozhraní pro provedení úlohy.
  2. Vynuťe si výjimku metody, která provádí úlohu.
  3. Udělejte ze třídy s vnořeným blokem try/catch kontejner strategií.
  4. Změňte vnořený blok try/catch na smyčku for.
  5. Zatímco je na smyčce výjimka, použijte 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 ) {
// Ignorovat výjimku
}
}

}