It seems if I have two try/catch blocks in a row in a function, the second one doesn't seem to catch anything. For example, this script:
void main() {
try { throw ("1"); }
catch { print ("Exception 1"); }
try { throw ("2"); }
catch { print ("Exception 2"); }
try { throw ("3"); }
catch { print ("Exception 3"); }
}
prints only this:
Exception 1
2
So the first exception is caught and handled correctly, and the second one aborts the script (which prints the aborting exception, in my case, so you see the "2").