How to suppress all JavaScript runtime errors?
Asked Answered
R

2

12

How can I suppress all JavaScript runtime error popups, from the programmers side?

Revocable answered 19/8, 2011 at 10:29 Comment(2)
You can try to wrap your whole code into a try...catch block. But it is better to fix errors ;)Maestas
sometimes there is not possibility to use try...catch, for example if some external library throws errors. Using window.onerror event is the solution in this case, see my answerRevocable
R
23

To suppress all JavaScript errors there seems to be a window.onerror event.
If it is replaced as early as possible(e.g. right after the head) by a function which returns true - there will be no error popups, which is quite useful after debugging is done.

<head>
<script type="text/javascript">
    window.onerror = function(message, url, lineNumber) {  
        // code to execute on an error  
        return true; // prevents browser error messages  
    };
</script> 
...

Error Logging is possible too, as explained here

Revocable answered 20/8, 2011 at 17:49 Comment(2)
The HTMLDocumentEvents4::onerror event fires for run-time errors, but not for compilation errors. In addition, error dialog boxes raised by script debuggers are not suppressed by returning true. from MSDNBioscope
This method doesn't seem to work for Angular 2.x+ apps - likely due to the Angular handling the errors itself.Loader
L
3

I made a little script for suppressing an error like "@" does in PHP.

Here is an example.

var at = function( test ) {
    try {
        if(typeof test === "function") return test();            
        else return test || null;        
    } catch (e) {
        return null;
    }
};
Lauritz answered 15/7, 2015 at 12:24 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.