[seasar-dev:1200] Re: S2Util

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2010年 8月 25日 (水) 01:00:00 JST


小林 (koichik) です.

Date:    Wed, 25 Aug 2010 00:47:48 +0900
From:    Wataru Yukawa <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [seasar-dev:1199] Re: S2Util

> ログとの統一感と今までのやり方を大きくは変えないというポリシーで考えると、
> SRuntimeException(format("EXXX0001", a, b, c), t)形式に統一して、

これだけなら悪くないのですが,

> 例外のメッセージはメッセージコードを含まないものにする。
> 
> ただ(ログも含めて)メッセージコードはあったほうがいいと思うので、プロパティファイルを
> 
> EUTL0001={0}が見つかりません
> ではなく
> EUTL0001=[EUTL0001] {0}が見つかりません
> 形式とする。

はイマイチな感じですね.

> initCauseを呼ぶ形式は今までとやり方が変わるので利用者がとまどう可能性があることや、
> 呼び忘れて例外が消えてしまうのを懸念してのことです。

中村 (taedium) さんもそんな感じのことを
言ってたのですが,initCause() はそもそも
Java 標準のやり方ですよ?
それでとまどうとか忘れるのが心配なら,
むしろ initCause() 啓蒙のためにもこれで
押し通した方がいいかもしれない.(^^;

JavaSE の標準的な例外をざっと眺めると
分かるかと思いますが,コンストラクタで 
cause を受け取る例外はむしろ少数派で,
それ以外の例外で原因を設定する場合に
唯一使える手段が initCause() です.


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>



Seasar-dev メーリングリストの案内