Checking if specific console error occurred/exists with javascript

倖福魔咒の 提交于 2019-12-11 04:08:12

问题


I would like to check if a certain console error has occurred using javascript, and alert() myself if it has.

The error will look like this:

00:00:34:0359 TimeEvent.COMPLETE
    (anonymous function) @ VM17617:1

And the algorithm will look something like this:

function checkError(console) {
    if(console.error === "TimeEvent.COMPLETE") {
        alert("The error is present");
    }
}

I'm not very familiar with the console, and haven't gotten much further with Google research. Can somebody point me in the right direction?


回答1:


I ultimately solved my question by following this blog post on taking over the console with javascript.

Here is my final code:

var original = window.console
window.console = {
    error: function(){      

        //Gets text from error message.
        errorText = arguments['0'];

        if (errorText.includes('TimeEvent.COMPLETE')) {
            //DO STUFF HERE
        }

        original.error.apply(original, arguments)
    }
}



回答2:


You didn't provide the whole picture about how and when the console is getting the error. If you raise the error yourself, or if you are able to catch it inside a try catch, that would be the best place to intercept those errors.

However, if you have no control about how those error are raised, you should try to intercept your console's error calls. I never tried it myself but this SO answer explains how to intercept the console's log calls. Knowing that the console usually have a function named error that is similar to the log function, I'm sure you could apply the same logic to intercept the errors sent to the console.

If you are using chrome, you may refer to the console documentation for more details about the error function. I'm not sure if there's a standard butInternet Explorer and Firefox also has support for console error function.



来源:https://stackoverflow.com/questions/31106096/checking-if-specific-console-error-occurred-exists-with-javascript

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!