Stefan
Stefan

Reputation: 14863

Use of try-catch in JavaScript

How time-intensive is the use of try/catch in JavaScript? I have an application and I am using it in a function which is called a few hundred times. Now I am afraid, that the try/catch statement is taking too much time and the application will take a lot longer than without it.

Upvotes: 15

Views: 7927

Answers (4)

David
David

Reputation: 497

You should take note of the following:

“The First Rule of Program Optimization: Don't do it. The Second Rule of Program Optimization (for experts only!): Don't do it yet.” - Michael A. Jackson

I've wasted time optimising sections of code that had little impact on performance. Make sure you know what is slow by running some timing experiments.

Upvotes: 7

jerone
jerone

Reputation: 16861

There are some nice tests on jsPref:

Conclusion: on the major browser, null to minimal differences.

Upvotes: 12

Travis Webb
Travis Webb

Reputation: 15018

In general, code executed inside a try block is expensive. But if you are invoking a try block on the order of a few hundred times, it's probably not an issue. If it were a few hundred thousand, you may want to re-think your design.

Upvotes: 1

Wolph
Wolph

Reputation: 80011

The try/catch clause creates a new scope in javascript, so every variable that has to come from the parent scope will be slightly slower.

The overhead isn't that great but too large to completely ignore for your inner loops.

Take a look at this video for a more in-depth explanation: http://www.youtube.com/watch?v=mHtdZgou0qU

Upvotes: 2

Related Questions