第61回 例外処理 とか もしくはそれに似通ったもののベストプラクティスってないのかな?

例外処理に関するベストプラクティスってないのだろうか?
今回は例外処理とはちょっと違うかもしれないが、
入力された値をチェックする必要があったとして、

CHECK:{
  last CHECK if なんかのチェック;
  last CHECK if またチェック;
  last CHECK if またまたまチェック;

  チェックをクリアしたものだけの処理;
}

こうすべきか

if(  なんかのチェック &&
     またチェック &&
     またまたまチェック  
){
  チェックをクリアしたものだけの処理;
}

こうすべきか(※上記の例とチェックする内容は変えないといけない 真のときになってしまうので)

eval{
  die if なんかのチェック;
  die if またチェック;
  die if またまたまチェック;
}

if(!$@){
  チェックをクリアしたものだけの処理;
}

こうすべきか


などなど場合によってベストは違うだろうが、いっぱい方法はある。



次のときなんかも悩ましい

CHECK:{
  last CHECK if なんかのチェック;
 
  次のチェックの為の前準備

  last CHECK if またチェック;

  その次のチェックの為の前準備

  last CHECK if またまたまチェック;

  チェックをクリアしたものだけの処理;
}