メソッドの設計方法について、だそうな。
これです。→@IT:メソッドの設計方法について
詳細はリンク先を見てもらうとして、
ってことです。
Info クラスというものがあってそれを取得するGetInfo メソッドをどう書くか、でも例外の仕様ができないのよ・・・。
スレ主が例として挙げられているのが
です。思うところを・・・。
1.Infoクラスは、Bとエラーコード(正常、EまたはFが格納)を取得するデータクラス
※InfoクラスのエラーコードがEまたはFの場合は、Bの値は意味をもたない。サンプル:
Function GetInfo(ByVal A As xxx) As Info2.エラーコードは戻り値として返し、情報Bは参照渡しで渡してセットしてもらう
サンプル:
Function GetInfo(ByVal A As xxx, ByRef B as xxx) As errorCode3.すべて参照渡しでもセットしてもらう
サンプル:
Sub GetInfo(ByVal A As xxx, ByRef B as xxx, ByRef errorCode As xxx)
□1.について
これはないかなぁ・・・。Info クラスがそれを取得するGetInfo メソッドの処理についての情報を持つのは違和感が・・・。
Info クラスの情報の不正であれば、別途Info クラスの検証用メソッドかプロパティで判断すると思います。
□2.について
GetInfoというメソッド名で戻り値がInfo クラスでないのがヤです・・・。
□3.について
GetInfoというメソッド名で戻り値が無いのがヤです。
さて、ならどうすんのさ!?(怒)なわけですが。
あくまでメソッド名がGetInfoのままで何とかするなら
・・・やだなぁ。
Public Function GetInfo(ByVal a As xxx, ByRef errorCode As ErrorCode) As Info
このあたり、甕星さんの
に抵触しますが、コーディング量が増えてもちゃんとエラーをチェックしてもらいたいという願いを込めています。
3)の実装は呼び出す側で必ずエラーを格納するための変数を用意する必要がある。呼び出しのためのコーディング量が増えるので却下。
と、ここまで書いていたらじゃんぬねっとさんがリンク先で概ね書かれていました。orz
# しかし、例外が使えないって・・・。