226882 ランダム
 HOME | DIARY | PROFILE 【フォローする】 【ログイン】

SE徒然日誌

SE徒然日誌

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X
2006/01/11
XML
カテゴリ:仕事
何やら愚痴っぽい話が続いてますが、
今回もプログラマー以外の方は「なんのこっちゃ」という話題。


例外処理をちゃんと書いてますか?


いや、Try Catch のことじゃなくて、例外が発生した場合の
「振る舞い」のことを言ってるんです。


言葉にすると書きにくいんで、こんな感じのソースがあったとします。

------------------------------
[X]
データ取得
if データを取得できたら
{
データを基に計算
}
------------------------------

データを取得できなかったらどうすんの?

ソースからは「データがなかったら計算処理を無視してよい」としか
読み取れません。


必ずデータが存在する(存在しなければならない)のであれば、
こんな感じになるんじゃないでしょうか。
------------------------------
[A]
データ取得
データを基に計算
------------------------------
[B]
try
{
データ取得
データを基に計算
}
catch
{
エラー処理
}
------------------------------
[C]
データ取得
if データを取得できたら
{
データを基に計算
}
else
{
エラー処理
}
------------------------------

システムで一番怖いのは「不正なデータが作られる」ことです。
[X]のソースだと、不正な状態のまま処理が続行してしまう
可能性があります。

そういった意味でもありえない処理パターンについては、
無視するんじゃなくて落としちゃうのが一番かと。
(システムのポリシーなのでお上の意向も多々ありますが)


ちなみに、今回のプロジェクトでは、[A]を採用し、
もっと大きな部分で try catch をして強制終了させてます。


※ソースの書き方はいい加減です。
(ちなみに私はVBユーザ♪)






お気に入りの記事を「いいね!」で応援しよう

Last updated  2006/01/11 11:48:13 PM
コメント(0) | コメントを書く


PR

Category

Keyword Search

▼キーワード検索

Recent Posts

Favorite Blog

システムエンジニア… hirocom6618さん

Comments

通りすがりのもの@ 参考になりました 失礼します。 日記の内容とまったく同じ…
Kandhi Dimu@ Re:名称(01/16) Fuzyさん >会社によって項目名って色々…
Fuzy@ 名称 会社によって項目名って色々違いますよね…
Kandhi Dimu@ Re:おっしゃるとおり(01/12) Fuzyさん >メールでやりとりをする場合…
Fuzy@ おっしゃるとおり 誠心誠意対応しても、怒っているお客様は…

Archives

2024/11
2024/10
2024/09
2024/08
2024/07

© Rakuten Group, Inc.
X