Solved

Access 2007 VBA err handling not working

Posted on 2011-02-17
4
249 Views
Last Modified: 2012-05-11
I am building my error catching routines on a new dbase and the error handling does not seem to work in any case. I have my error handling set to BREAK IN CLASS MODE.
Code is standard error handling as below.

The code breaks and displays the error popup.

Public sub some_action()
on Error goto errhandler

 ' some code
exit sub
errhandler:
Resume err1
err1:
'some action that logs the error and returns user to 'beginning of program

End Sub

Open in new window

0
Comment
Question by:JP_TechGroup
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
4 Comments
 
LVL 120

Accepted Solution

by:
Rey Obrero (Capricorn1) earned 250 total points
ID: 34917337
try the setting

break on all errors

and, then

break on unhandled errors
0
 
LVL 57

Assisted Solution

by:Jim Dettman (Microsoft MVP/ EE MVE)
Jim Dettman (Microsoft MVP/ EE MVE) earned 250 total points
ID: 34917526
Besides the setting (which is your main problem), you also want a change in structure a bit:

Public sub some_action()
  on Error goto errhandler

   ' some code
Exit_some_Action
   ' Do cleanup
   exit sub

errhandler:
     'some action that logs the error or handles the error
     Resume Exit_some_Action
or
     Resume Next
or
     Resume

End Sub
0
 

Author Comment

by:JP_TechGroup
ID: 34919733
JD, the code example uses:
exit sub
errhandler:
Resume err1
err1:
'action to take
end sub

Is there some reason why the label "err1" should be in the sub before the exit? I've tried it and it makes no difference that I can see.
Also, I have tried all three options (though usually I use break on unhandled errors) with the same result.
Further experimentation shows that this does catch some errors, but not others....
0
 
LVL 57
ID: 34920192

  One should only Resume after the error has been handled, not before.  And you don't want to exit without issuing a resume of some type as you leave the error handler active then.

JimD.
0

Featured Post

Creating Instructional Tutorials  

For Any Use & On Any Platform

Contextual Guidance at the moment of need helps your employees/users adopt software o& achieve even the most complex tasks instantly. Boost knowledge retention, software adoption & employee engagement with easy solution.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Today, the web development industry is booming, and many people consider it to be their vocation. The question you may be asking yourself is – how do I become a web developer?
In earlier versions of Windows (XP and before), you could drag a database to the taskbar, where it would appear as a taskbar icon to open that database.  This article shows how to recreate this functionality in Windows 7 through 10.
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

751 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question