-
Notifications
You must be signed in to change notification settings - Fork 11
1.x Error
Kei Funagayama edited this page Feb 5, 2014
·
2 revisions
beez には、beez.Error, beez.onError のエラー機能があります。
beez 内部のエラーは通常 beez.Error でthrow されます。
beez.ErrorはErrorを継承しているので通常のエラーと同様に扱うことができます。
beez.Errorをextendすることで、カスタマイズされたErrorを作成することも可能です。
// example: custom error.
var CustomError = beez.Error.extend(
'Custom',
{
getMessage: function () {
return this.message;
}
}
);
var custom = new CustomError('Custom Error !!!');
console.log(custom.message);
console.log(custom.stack);
console.log(custom.getMessage());beez.onError(function, function, function) を使用すると、beezを使ったプロジェクト内で起こったエラーをハンドリングすることが出来ます。
ブラウザにある window.onerror に設定される関数
window.onerror はブラウザ別に動作が異なる可能性があります。
bucks.js#onerror に設定される関数
beez.Bucksを使ったプログラムすべての例外をキャッチする事ができます。
require.js#errors に設定される関数
// example
beez.onError(
// window.onerror
function windowOnError(message, url, line) {
/** ... **/
},
// beez.Bucks.onError
function bucksOnError(error) {
/** ... **/
},
// require.Onerror
function requireOnError(error) {
/** ... **/
}
);Bucks 自体にもデバッグエラーが存在します。
require.beez.js.hbs などの、初期ロード部分で下記のフラグを入れるとデバッグエラーが表示されます。
require.beez.js.hbs
beez.Bucks.DEBUG = true;
設定ファイル 内の beez.config.global で DEBUG フラグを管理すると便利です。
[env]/[key].json
// ...
"config": {
"beez.core": {
// ...
"defines": {
"globals": {
"DEBUG": true
}
}
// ...
}
// ...
}
require.beez.js.hbs
beez.Bucks.DEBUG = !!beez.globals.DEBUG;