現在作業中のプロジェクトでは、エラーと例外を区別するのに少し問題があります。エラーと例外の私の定義も完全に正しいです)。"エラー"になる確率が高い "例外"を処理する
私が混乱しているところは、例外がエラーになるのを防ぐ方法です。私はたくさんの関係を保持するモデルクラスを持っているとします。モデルにはModel.AddRelationship()
メソッドがあり、モデル内に循環参照を作成する可能性があります。ユーザーが循環参照を作成するUIに関係を追加しようとすると、それをブロックして理由を説明する必要があります。だから、私はいくつかのオプションをつかんできました:
// In the UI when the user tries to add a relationship:
var newRelationship:Relationship = new Relationship();
if(Model.AddingThisWillCreateACircularReference(newRelationship))
{
this.warnUserAboutCircularReference();
}
else
{
Model.AddRelationship(relationship);
}
私の一部は、それを呼び出す前に呼び出しを検証する必要があると思います。結局のところ、関係を追加するのはプログラムをクラッシュさせるものではなく、他のコードが無限ループになる操作を実行するときです。一方、私はすべての回で安全な状態でモデルを維持する義務を感じる、と私はこのような何かを行うことによって、悪い循環参照の状況に対処するために、開発者を強制する必要があること:
// In the model itself:
public function AddRelationship(relationship:Relationship):Boolean
{
var success:Boolean = true;
if(this.AddingRelationshipWillCreateACircularReference(relationship))
{
success = false;
}
else
{
this.addRelationship(relationship);
}
return success;
}
そのように彼らを追加することができないことを知っているか、関係が単純に追加されません。それはまた間違っていると感じる。誰か私にいくつかの明確さを与えるのに役立つかもしれない考えを私に与えることができますか?前もって感謝します。