D
Damian Carrillo
This may have been covered previously, but I've not been able to find it on
the boards. In school I was taught that GOTO statements were evil, bad, and
generally not nice. I later learned firsthand about the nightmare of fixing
someone else's GOTO riddled code. Even the VBA help files warn repeatedly
that GOTO use is something to be avoided.
Despite this, the only way I seem to be able to trap errors is by using the
"On Error" statement/method:
'code here
ON ERROR RESUME NEXT
'or
ON ERROR GOTO StupidBuggyCrap
'more code here followed by blocks of code called by GOTO statements
EXIT SUB
Stupidbuggycrap:
'code to trap, display and handle errors
END SUB
I have tried to create separate error subroutines that can be called from
any module in my code, but they always fail to compile, which suggests that
calls to other subroutines are not allowed when using "ON ERROR".
My question: Why is this? And is there a way around this limitation? Am I
overlooking something obvious that allows calls to code in another module to
be used? Or are bad programming habits that make code impenetrable to
outsiders a prerequisite for any error trapping efforts? Will these forced
bad coding habits force me to GOTO hell!?
Damian Carrillo
----------------
This post is a suggestion for Microsoft, and Microsoft responds to the
suggestions with the most votes. To vote for this suggestion, click the "I
Agree" button in the message pane. If you do not see the button, follow this
link to open the suggestion in the Microsoft Web-based Newsreader and then
click "I Agree" in the message pane.
http://www.microsoft.com/office/com...fbd9d5f&dg=microsoft.public.excel.programming
the boards. In school I was taught that GOTO statements were evil, bad, and
generally not nice. I later learned firsthand about the nightmare of fixing
someone else's GOTO riddled code. Even the VBA help files warn repeatedly
that GOTO use is something to be avoided.
Despite this, the only way I seem to be able to trap errors is by using the
"On Error" statement/method:
'code here
ON ERROR RESUME NEXT
'or
ON ERROR GOTO StupidBuggyCrap
'more code here followed by blocks of code called by GOTO statements
EXIT SUB
Stupidbuggycrap:
'code to trap, display and handle errors
END SUB
I have tried to create separate error subroutines that can be called from
any module in my code, but they always fail to compile, which suggests that
calls to other subroutines are not allowed when using "ON ERROR".
My question: Why is this? And is there a way around this limitation? Am I
overlooking something obvious that allows calls to code in another module to
be used? Or are bad programming habits that make code impenetrable to
outsiders a prerequisite for any error trapping efforts? Will these forced
bad coding habits force me to GOTO hell!?
Damian Carrillo
----------------
This post is a suggestion for Microsoft, and Microsoft responds to the
suggestions with the most votes. To vote for this suggestion, click the "I
Agree" button in the message pane. If you do not see the button, follow this
link to open the suggestion in the Microsoft Web-based Newsreader and then
click "I Agree" in the message pane.
http://www.microsoft.com/office/com...fbd9d5f&dg=microsoft.public.excel.programming