Try/Catch Error Perf

JavaScript performance comparison

Revision 72 of this test case created

Preparation code

 
<script>
Benchmark.prototype.setup = function() {
    var undef;
};
</script>

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
Try Catch
try {
  return undef.prop;
} catch (ex) {
  return null;
}
pending…
If Check
if (undef !== undefined) {
  return undef.prop;
} else {
  return null;
}
pending…
Logic Testing
return (undef && undef.prop) || null;
pending…
Conditional Operator
return undef ? undef.prop : null;
pending…
in
if ("prop" in undef)
  return undef.prop;
else
  return null;
pending…

Compare results of other browsers

Revisions

You can edit these tests or add even more tests to this page by appending /edit to the URL. Here’s a list of current revisions for this page:

1 comment

Hai Phan commented :

It's not good to compare against try/catch with error, because when error occurs a stack trace has to be generated, a very expensive operation.

Add a comment