例外文字列の変更
Posted 11月 10th, 2007 by twk
例外オブジェクトをcatchしてlogを出してみると、ろくな出力をしてくれない場合があります。
たとえば、SQLiteErrorは、 [object SQLiteError] としか出力してくれません。
それではわかりづらいのでcatch節を書き直したりするのですが、
いちいち面倒ですよね。
そんな時は、組み込みオブジェクトだからとひるまずに、toStringメソッドを
書き換えてしまう方法もあります。
SQLiteError.prototype.toString = function(){
return '[' + this.errCode + '] ' + this.errMsg;
};
こうすれば、使用時は普通にログするだけで、ちゃんとエラーメッセージを取得することができます。
他のオブジェクトでも応用できるかと思います。
try
{
var db = new SQLite();
db.open(':unknown:');
// ....
}
catch (e)
{
log(e);
}
と言うか、組み込みのSQLiteオブジェクトがちゃんとtoStringメソッドを
実装してくれてれば良いだけなんですが・・・。
Trackback URL for this post:
http://nonn-et-twk.net/twk/trackback/125


