nodejs - w3 javascript try catch




JavaScript例外列表 (2)

這次我沒有任何問題,只是為了好奇,我想知道JavaScript中有多少例外。

例如,我使用以下代碼:

<script type="text/javascript">
    var x;
    try{
        x = 1 / 0;
        alert(x); // output: Infinity. FYI: JavaScript has Infinity property and it's value is 1.7976931348623157E+10308
        alert(funCreate());
    }
    catch(obj)
    {
        alert(obj.fileName);
        alert(obj.lineNumber);
        alert(obj.message); // output: funCreate is not defined
        alert(obj.name); // output: ReferenceError
        alert(obj.stack);
    };
</script>

在這裡,ReferenceError就像一個異常類型。 所以,如果它被視為一個異常類型,那麼我們可以通過類型來處理異常嗎? 就像我們大家用其他編程語言做的一樣。 看鏈接

謝謝...


你可以用JavaScript來拋出任何東西,所以沒有可能的例外列表。 如果你想查看默認異常對象的所有屬性,我會推薦firebug的console.log()命令。


在JavaScript中沒有這樣的語法,但是可以輕鬆地實現類似的事情:

var x;
try{
    x = 1 / 0;
    alert(x); // output: Infinity. FYI: JavaScript has Infinity property and it's value is 1.7976931348623157E+10308
    alert(funCreate());
}
catch(obj)
{
    switch(obj.name) {
        case 'ReferenceError':
            alert(obj.fileName);
            alert(obj.lineNumber);
            alert(obj.message); // output: funCreate is not defined
            alert(obj.name); // output: ReferenceError
            alert(obj.stack);
        break;
        case 'AnotherError':
            //do other things
        break;

        default:
           //other stuff
    }
};




exception-handling