Se você está tentando obter mais de seus projetos de MS Access, ou você está começando a programar em Visual Basic, tendo um manipulador de erro em suas Subs e funções pode salvar o usuário final um muito sofrimento . Aqui está uma maneira simples de adicionar um manipulador de erro para o código que lhe permitirá lidar com erros como eles vêm para cima e , em seguida, adaptar a resposta ao erro específico. Coisas que você precisa
Visual Basic 6 ou uma janela de código aberto em MS Access 2003 ou módulo anterior
Show Mais instruções
1
Abra uma janela de código em qualquer VB6 ou um módulo de MS Access e criar uma nova rotina Sub chamado TestErrorHandler . Neste ponto, não haverá código no Sub que será parecido com este : Public Sub TestErrorHandler () End Sub
2
Adicione as linhas abaixo ao Sub Rotina , não volte a escrever a Sub Pública e End Sub linhas novamente. É importante certificar-se de que você adicionar uma vírgula após a linha " Error_Exit " e " ErrorHandler ". Além disso, a linha " ErrorHandler " tem que ser digitado exatamente como ele é declarado na linha "On Error GoTo ErrorHandler ". Você pode nomear seu manipulador de erro " Jim " se você gostaria. mas você precisa para manter o nome consistente: TestErrorHandler Sub Pública ( ) On Error GoTo ErrorHandlerError_Exit : Exit SubErrorHandler : Fim de linha SubThe "On Error GoTo ErrorHandler " dirige o sub para procurar um manipulador de erro deve surgir um erro quando é running.The linha " Error_Exit " sai para fora do Sub desde a linha " Exit Sub " foi adicionada imediatamente abaixo -lo.O line " ErrorHandler : " é onde erros específicos serão tratados
3
. Agora adicione o seguinte duas linhas de código diretamente sob " ErrorHandler " : Select Case Err.NumberEnd SelectWe estão usando uma declaração Select Case para lidar com os erros específicos que pode querer lidar com
4
. Notificar o usuário que um erro ocorreu e dar-lhes algumas informações adicionais. Vamos fazer isso no nosso Select Case usando " Case Else ". Para este exemplo , vamos mantê-lo simples , mediante notificação ao usuário que ocorreu um erro e que o número de erro é , assim como uma breve descrição. Adicione as seguintes linhas de código para o seu " ErrorHandler " : Caso Else pstrErrorMessage = " Número do erro: " & Err.Number & vbCrLf & _ Err.Description MsgBox pstrErrorMessage , vbExclamation , "Erro " Resume todo Error_ExitThe Sub deve agora olhar como este: Public Sub TestErrorHandler () On Error GoTo ErrorHandlerError_Exit : Exit SubErrorHandler : Dim pstrErrorMessage As String Select Case Err.Number Else pstrErrorMessage = " Número do erro: " & Err.Number & vbCrLf & _ Err.Description MsgBox pstrErrorMessage , vbExclamation , "Erro " retomar Error_Exit Fim SelectEnd
Sub
5
A vantagem real de ter um manipulador de erro no lugar é que você pode lidar com os erros esperados de uma forma elegante . Por exemplo, se você decidir escrever uma rotina Sub que irá mover um arquivo (s) a partir de uma pasta para outra , mas antecipamos que na ocasião que em ou mais dos arquivos não existem, é provável que você obter um número de erro repetido 53, que é um arquivo de erro não encontrado . Você pode adicionar uma linha para a instrução Select Case que irá resolver este erro e , em seguida, continuar com a rotina Sub. Adicione estas duas linhas diretamente sob a linha " Select Case " : Caso 53 Resume nextby lidar com o arquivo esperado não encontrou o erro desta forma , você pode ter a rotina Sub continuar a executar sem notificar o usuário o que aconteceu. Obviamente, se você deseja que o usuário saiba que o arquivo especificado está faltando , você deve adicionar uma MsgBox para esse efeito. Todo o Sub agora se parece com isso (a imagem associada a este passo reflete como o código deve ser no ambiente de programação VB) : Public Sub TestErrorHandler () On Error GoTo ErrorHandlerError_Exit : Exit SubErrorHandler : Dim pstrErrorMessage As String Select Case Err.Number 53 Resume Next Case Else pstrErrorMessage = " Número do erro: " & Err.Number & vbCrLf & _ Err.Description MsgBox pstrErrorMessage , vbExclamation , "Erro " Resume Error_Exit End Sub SelectEnd
< br >