プログラム学習室 http://studyhallweb.com/

Java学習記: try~catch

try~catch

				
/***************************************************************************
try~catch のサンプル

    参照
        http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/index.html
        http://www.tohoho-web.com/java/exception.htm
***************************************************************************/
// 独自の例外を指定
class hArgsException extends Exception {
    public String errMsg;
    hArgsException(String msg) {
        errMsg = msg;
    }
}

class S028TryCatch {
    public static void main(String[] args) {
        try {
            chkArgs(args.length);
            for (int i = 0;  i < args.length; i++)
                System.out.println(i + " : " + args[i]);
        }
        catch (hArgsException e) {
            System.out.println(e.errMsg);
        }
        finally {
            // 例外の発生の有無に係わらず実行される
            System.out.println("Program end");
        }
    }

    // コマンドラインパラメータの数をチェックし、0であれば独自の例外を発生
    static void chkArgs(int i) throws hArgsException {
        hArgsException e = new hArgsException("パラメータの指定がありません");
        if (i == 0)
            throw e;
    }
}