是否有可能通過特定的錯誤信息在特定條件下終止腳本?異常不是一種選擇,因爲它們可以被捕獲,從而避免終止。如何發生致命錯誤或類似錯誤?
更新:
我寧願普遍的做法,但如果有沒有,那麼它對於在瀏覽器的JavaScript。錯誤應該是沉默的,並且錯誤消息應該只進入瀏覽器錯誤日誌。
是否有可能通過特定的錯誤信息在特定條件下終止腳本?異常不是一種選擇,因爲它們可以被捕獲,從而避免終止。如何發生致命錯誤或類似錯誤?
更新:
我寧願普遍的做法,但如果有沒有,那麼它對於在瀏覽器的JavaScript。錯誤應該是沉默的,並且錯誤消息應該只進入瀏覽器錯誤日誌。
不幸的是,我只能設法通過以下醜陋的解決方法來實現:
var failWithFatalError; // A non-existent function
console.error (message + ' in ' + homebrewStackTraceFunction());
failWithFatalError();
如果你的代碼是一個try語句裏面,你正在尋找一種方法來阻止它的某些錯誤,那麼我認爲你正在尋找finally塊:
從上述站點(和編輯惱人alert()
爲console.log()
),你可以找到這個例子:
function f() {
try {
console.log(0);
throw "bogus";
} catch(e) {
console.log(1);
return true; // this return statement is suspended until finally block has completed
console.log(2); // not reachable
} finally {
console.log(3);
return false; // overwrites the previous "return"
console.log(4); // not reachable
}
// "return false" is executed now
console.log(5); // not reachable
}
f(); // alerts 0, 1, 3; returns false
但是我不需要繼續執行,而且我也不知道'finally'對我有什麼幫助。我只需要腳本去死,然後。 – Septagram
請注意,在此示例中未執行最後一個console.log(5),因此意味着一旦啓動了非捕獲異常,該進程將在此處死去。發生這種情況是因爲最後返回false;在最後的聲明。這個try語句是在函數內部的,所以它只停止函數,但是如果你把它放在腳本的周圍,它會在你啓動一個未捕獲的異常時停止腳本。 – user688877
您的腳本是否在瀏覽器中運行?如果您不希望它是可捕獲的,那麼向誰提供您的錯誤消息?也許你應該讓你的問題不太模糊。 –
@dystroy,對不起,我更新了這個問題。 – Septagram