「すぐわかるperl」5.4 エラーチェックをしてみよう
前項では特にエラーチェックを行っていないため、存在しない三角形の面積を求めようとすると柿のようなエラーが出る
例:3辺が1 1 50
C:\Documents and Settings\sironekotoro>"C:\Documents and Settings\sironekotoro\デスクトップ\perl
test.pl" 1 1 50
Can't take sqrt of -390000 at C:\Documents and Settings\sironekotoro\デスクトップ\perlte
st.pl line 7.
これは、-390000の平方根が計算できないとのエラーです。
(マイナスの平方根は虚数)
エラーチェックは
・引数が3個かどうか
・sqrt(平方根)の中身がプラスになるか
の二点で行う。
#helon -- ヘロンの公式で三角形の面積を求める
if (@ARGV -3){
die "hikisuu wa 3 ko de aru hitsuyouga ari masu!\n"
}($a,$b,$c) = @ARGV;
$s = ($a + $b + $c)/2;if (($size2=($s * ($s - $a)*($s - $b)*($s - $c)) < 0{
die "sonnna sankakkeiha arimasen!";
}$size = sqrt($size2);
print "$size\n";
これで、ウィルスチェックが働く。
| 固定リンク
「Perl」カテゴリの記事
- 「すぐわかるPerl」 8.10 ディレクトリのリカーシブ処理(その2)(2009.02.24)
- 「すぐわかるPerl」 8.10 ディレクトリのリカーシブ処理(その1)(2009.02.23)
- 「すぐわかるPerl」 7.6 マッチした文字列と、その前後の文字列を扱う変数(2008.06.17)
- 「すぐわかるPerl」 8.9 コマンドの入出力に入出力を切り替える(2008.11.12)
- 「すぐわかるPerl」 8.8 標準入出力以外のファイルの制御(2008.10.08)









コメント