我需要捕獲客戶端瀏覽器發送給Rollbar的所有JavaScript錯誤。我嘗試了很多解決方案,如window.addEventListener
和覆蓋console.error
方法,但沒有爲我工作。捕獲React上的所有錯誤15.3.1
我已經得到了Ajax錯誤,就像圖像上的jqXHR一樣,但它在必須時間上的信息較少。
但上述消息(紅色)我不能。
如何真正使用React獲取所有瀏覽器錯誤消息?
我需要捕獲客戶端瀏覽器發送給Rollbar的所有JavaScript錯誤。我嘗試了很多解決方案,如window.addEventListener
和覆蓋console.error
方法,但沒有爲我工作。捕獲React上的所有錯誤15.3.1
我已經得到了Ajax錯誤,就像圖像上的jqXHR一樣,但它在必須時間上的信息較少。
但上述消息(紅色)我不能。
如何真正使用React獲取所有瀏覽器錯誤消息?
我不認爲你看到的錯誤與React有關,它是由你的瀏覽器拋出的,因爲你的腳本正在嘗試發出一個跨域請求。
看一看本作更多的細節:
我認爲這不是真的有可能趕在一個地方,所有的瀏覽器的錯誤,這是沒有反應過來的問題。
例如,如果你想趕上所有的API錯誤,基本技術是包裝像所有的API調用簡單的函數:
/**
* @returns Promise
*/
export default function httpRequest(type, path, params, headers) {
return someHttpLibrary.request(type, path, params, headers)
catch((error) => {
logTheStuff(error);
});
}
你應該調用該函數,而不是直接請求。另外,如果您需要,您可以在一個地方記錄所有請求並更改庫; D
關於其他錯誤,例如渲染或邏輯錯誤中的錯誤,哨兵隊寫了錯誤處理好文章:
https://blog.getsentry.com/2016/01/04/client-javascript-reporting-window-onerror.html
而且也,哨兵是非常好的工具來處理陣營錯誤:https://getsentry.com/for/react/
我可以得到一些不是「錯誤」的字符串作爲錯誤細節更多? –
如果你看看這個http://stackoverflow.com/questions/5018566/catching-xmlhttprequest-cross-domain-errors它看起來像你有一個onError事件可用,但控制檯的錯誤將始終發生,它由您的瀏覽器記錄和看起來你出於安全原因不能碰它。 – Giuseppe