演習課題「例外処理を定義しよう」
右のコードでは、DateTimeクラスのコンストラクタに日付を指定してオブジェクトを生成していますが、
存在しない日付を渡しているため例外が発生してプログラムが強制終了してしまいます。
このプログラムに、try-catch-finallyを追加して、例外が発生してもプログラムが強制終了しないようにして下さい。
プログラムを実行して、想定どおり出力されれば演習課題クリアです!
期待する出力値
start
Failed to parse time string (199x-01-01) at position 0 (1): Unexpected character
end
#02:簡単な例外処理をしてみよう
簡単な例外処理を実際に記述します。
例外が発生する簡単なプログラムを作って、それに対応するコードを書いてみましょう。
<?php
echo "start\n";
try {
$date = new DateTime("199x-01-01");
echo $date->format('Y/m/d') . "\n";
} catch (Exception $e) {
echo $e->getMessage() . "\n";
} finally {
echo "end\n";
}
?>
PHP: 例外 - Manual
http://jp2.php.net/manual/ja/spl.exceptions.php
PHP: DateTime::__construct - Manual
http://php.net/manual/ja/datetime.construct.php
PHP: Exception - Manual
http://jp2.php.net/manual/ja/class.exception.php
ログインすると採点できます
コードの実行