|
This has been puzzling me for very long time and no where has talked about the scope of a 'On Error Resume Next' statement.
When we program ASP(.NET) pages then we usually like to let ASP(.NET) stop at errors and report back to us. However there are parts of our scripts that we know an error will be thrown and we encapsulate that area inbetween:
On Error Resume Next Err.Clear 'Try block If Err.Number Then 'Catch block End If On Error GoTo 0
This is similar to the infamous try {} catch(e) {} blocks in Java/C++, etc.
If we forget the last line 'On Error GoTo 0' then our ASP(.NET) scripts runs over all errors thrown and we find it hard to find bugs. So the big question is, does 'On Error Resume Next' go out of scope when it's written inside a block (eg. Function)?
Function Function1() On Error Resume Next 'Our code End Function
When the Function1 call returns, does the outside calling scope automatically stays as it was (On Error GoTo 0)?
|