[Senna-dev 896] Re: sen_rc_to_string()

Back to archive index

Kouhei Sutou kou****@cozmi*****
2008年 6月 2日 (月) 08:48:00 JST


須藤です。

2008/05/29 23:35 Tasuku SUENAGA <a****@razil*****>:

> sen_enc2strみたいな関数があるのですが、
> それと同じノリですよね。
> 僕もあると便利だと思います。

はい、そんな感じです。

ついでなので、エラーの通知方法についてです。

もう少し具体的なエラーの内容を通知するのはどうでしょうか?たぶん、現在
想定されている使い方では、sen_invalid_argumentが返ってきた→ログを見る→
あぁ、この引数がだめだったのか→修正、という感じだと思うのですが、エラー
の情報だけをみてどこが悪かったのかがわかる方が使いやすい気がします。

例えば、SennaをRubyバインディング経由で利用していて、irbでちょこちょこ
いじっているとします。このときにsen_invalid_argumentが返ってきた→ログを
見る、というのをするのは少し面倒な気がします。


もし、これを実現するためには以下のどちらかかと思います。

  * sen_rcをもう少し細かくする
  * enumじゃなくてエラーオブジェクトを作る

前者のようなAPIはcairoが使っています。(cairo_status_t)
後者のようなAPIはGLibやSubversionが使っています。(GError/svn_error_t)

ちなみに、私の好みは後者です。理由はエラーのステータスコード(?)だけ
ではなく、より詳細なエラーメッセージ(引数は100だけど、0-1の間じゃないと
だめだよ、とか)を入れることができるからです。




Senna-dev メーリングリストの案内
Back to archive index