In fact, in the try ... catch the finally block will always be reached and executed.
So here in your case:
for (var i=0; i<10; i++) { try { continue; } finally { console.log( i ); } }
The finally block will run every iteration, whatever you do in the try block, so all numbers have been printed.
Documentation:
You can see from MDN try ... catch Documentation , which:
The finally clause contains statements to execute after the try and catch block have been executed, but before the statements following the try statement. The finally clause is executed regardless of whether an exception is thrown. If an exception is thrown, the statements in the finally clause are executed even if the catch clause does not handle the exception.
source share