該賞金過期3天。這個問題的答案有資格獲得 50聲望獎勵。 Nevin Madhukar K正在尋找規范的答案:
我想要一個通過在生產環境中拋出致命錯誤來測驗的解決方案。
我的目標:測驗我的錯誤處理功能。
臨時解決方案:有一個自定義路由:/error,其中包含故意產生致命錯誤的代碼。
var a = undefined;
a.b.c // Breaks.
以上作業,但我不能用它來測驗生產站點,因為不需要該頁面。我正在尋找一種通過瀏覽器對其進行測驗的方法。我試著簡單地添加“
throw new Error("Custom error thrown here")到控制臺。這實際上并沒有在運行時破壞它。
我嘗試添加一個破發點,并添加相同代碼:throw new Error("Custom error thrown here")。那也沒有用。
有沒有其他更簡單的方法來做到這一點而不是上面的方法?
我正在尋找一種只能通過瀏覽器進行操作的方法。
謝謝。
uj5u.com熱心網友回復:
我會使用 exec 函式,它實際上接受字串并在編譯時運行代碼。
exec('a.b.c')
uj5u.com熱心網友回復:
如果我問對了你的問題,這是你如何從控制臺做到這一點:
var script_tag = document.createElement('script');
script_tag.type = 'text/javascript';
script_tag.text = 'throw new Error("Custom error thrown here")';
document.body.appendChild(script_tag);
或者,如果您愿意,可以單擊觸發它:
var script_tag = document.createElement('script');
script_tag.type = 'text/javascript';
script_tag.text = 'window.document.onclick = function() { throw new Error("Custom error thrown here")}';
document.body.appendChild(script_tag);
然后你點擊頁面上的任何地方,拋出錯誤;
uj5u.com熱心網友回復:
您將無法從控制臺在應用程式中拋出錯誤,因為您超出了應用程式的范圍。
話雖如此,您可以執行此操作的一種稍微尷尬的方法是在 javascript 檔案的開頭添加一個斷點。
重新加載頁面,您的應用程式將在斷點處暫停 - 然后您可以根據需要修改代碼 - 例如添加throw new Error("something...")- 并保存您的編輯。
然后讓代碼運行,你會看到你的錯誤。
一個缺點是如果你重新加載更改將會消失,但我相信它盡可能接近你在運行時修改代碼。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/316780.html
標籤:javascript 反应 测试 错误处理
