[英]JavaScript try…catch for defineProperty not working
[英]javascript try catch not fully working in firefox
有人能解釋我為什么這樣:
<html>
<head></head>
<body>
<script>
try {
document.attribute-withminus = 5;
}
catch(e) {
alert('something went wrong');
}
alert('ok');
</script>
</body>
</html>
沒有給我一個警告'出錯了'而且沒有'確定'的警告?
它在chrome中工作正常。 但是在Firefox中,它只是退出(它確實在Web控制台中顯示錯誤)。 try-catch的重點是確保如果我輸錯了,它應該給我一個警告說。 我不想讓Web控制台一直打開。
另外,我知道這里有什么問題(減號屬性;應該使用setAttribute)。 我問為什么我的錯誤沒有被發現。
document.attribute-withminus = 5;
是語法錯誤(可能類似於“在分配中無效的左手部分” )這是一個早期錯誤 ,而不是運行時錯誤。
瀏覽器不應該執行包含它的腳本,它應該在任何評估之前在編譯包含錯誤的代碼時立即停止並報告錯誤。 在大多數瀏覽器中,腳本將在到達try
子句之前完全編譯。 它適用於Chrome,因為Chrome會延遲編譯,直到需要內部塊。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.