メソッドの設計方法について、だそうな。

これです。→@IT:メソッドの設計方法について

詳細はリンク先を見てもらうとして、


Info クラスというものがあってそれを取得するGetInfo メソッドをどう書くか、でも例外の仕様ができないのよ・・・。
ってことです。
スレ主が例として挙げられているのが

1.Infoクラスは、Bとエラーコード(正常、EまたはFが格納)を取得するデータクラス
 ※InfoクラスのエラーコードがEまたはFの場合は、Bの値は意味をもたない。

サンプル:
Function GetInfo(ByVal A As xxx) As Info

2.エラーコードは戻り値として返し、情報Bは参照渡しで渡してセットしてもらう

サンプル: 
Function GetInfo(ByVal A As xxx, ByRef B as xxx) As errorCode

3.すべて参照渡しでもセットしてもらう

サンプル:
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

# しかし、例外が使えないって・・・。