放置中のJava入門ですが。
mainメソッドで引数チェックを行うにあたり、ArrayIndexOutOfBoundsExceptionが発生したらエラーにするか、ちゃんと length でチェックするか。
例えば、引数2つ必須で、3つ目が任意でデフォルト1のとき。
public static void main(String[] args) { int num = 1; try { num = Integer.parseInt(args[2]); } catch (ArrayIndexOutOfBoundsException ex) { num = 1; } catch (NumberFormatException ex) { System.err.println("引数が不正です"); System.exit(1); } ... }
としても、問題なく動くことは動きますが、個人的には気持ち悪いので
public static void main(String[] args) { int num = 1; if (args.length > 2) { try { num = Integer.parseInt(args[2]); } catch (NumberFormatException ex) { System.err.println("引数が不正です"); System.exit(1); } } ... }
のほうを好む。かといって、前者はダメ!という根拠もなく・・・
これは好みの問題なんですかねー?という素朴な疑問。