detect all JS errors, using JS

Viewed 22336

I know this has probably been asked before, but I can't find where:

I know you can detect JS errors using extensions in stuff, but is there any way to detect ALL errors using JavaScript and display an alert whenever there is one?

3 Answers

uncaughtException must be added to browser. it will help to easily through Exceptions. tracing js errors, also.

For JS in Browser

<!DOCTYPE html>
<html lang="en">
<head>
    <script>
        var lastErr;
        function errHand(e) {
            lastErr = e;
            switch (e.target.nodeName) {
                case 'SCRIPT':
                    alert('script not found: ' + e.srcElement.src);
                    break;
                case 'LINK':
                    alert('css not found: ' + e.srcElement.href);
            }
            return false;
        }
        window.onerror = function (msg, url, lineNo, columnNo, error) {
            alert(msg + ' - ' + url + ' - ' + lineNo + ' - ' + columnNo);
            return false;
        }
    </script>
    <script src="http://22.com/k.js" onerror="errHand(event)"></script>
    <link rel="stylesheet" href="http://22.com/k.css" onerror="errHand(event)" type="text/css" />
</head>
<body>
    <script>
        not_exist_function();
    </script>
</body>
</html>
  • This works for attached js files trace errors just in same origin host environment
  • For Request error handeling like Ajax/WebSocket its better use their Bulit-In functions
  • Console functions override not work for reading auto generated browser error logs at this time with latest browser updates

For NodeJS

process.on('uncaughtException', function (err) {
    console.error('uncaughtException:\n' + err.stack + '\n');
})

Use Both of them in the TOP of your codes

Related