Compartilhar via


Propriedade Error.Source (DAO)

Aplica-se ao: Access 2013, Office 2013

Retorna o nome do objeto ou do aplicativo que gerou originalmente o erro.

Sintaxe

expressão . Fonte

Expressão Uma variável que representa um objeto Error .

Comentários

Geralmente, o valor da propriedade Source é o nome da classe do objeto ou a ID programática. Use a propriedade Source para fornecer informações aos usuários, quando o código não estiver disponível para lidar com um erro gerado em um objeto em outro aplicativo.

Por exemplo, se você acessar o Microsoft Excel e ele gerar um erro "Divisão por zero", o Microsoft Excel definirá Error.Number para o código do Microsoft Excel para esse erro e definirá a propriedade Source como Excel.Application. Observe que se o erro for gerado em outro objeto chamado pelo Microsoft Excel, este interceptará o erro e ainda definirá Error.Number como o código do Microsoft Excel. No entanto, as outras propriedades do objeto Error (incluindo Source) reterão os valores como foram definidos pelo objeto que gerou o erro. A propriedade Source sempre contém o nome do objeto que gerou originalmente o erro.

Com base em toda a documentação de erros, é possível gravar um código que trate o erro de forma adequada. Se houver falhas no manipulador de erros, você poderá usar as informações do objeto Error para descrever o erro para o usuário, por meio da propriedade Source e das outras propriedades Error para fornecer ao usuário informações sobre qual objeto gerou originalmente o erro, a descrição do erro e assim por diante.

Observação

[!OBSERVAçãO] A construção On Error Resume Next poderá ser preferível a On Error GoTo durante a manipulação de erros gerados durante o acesso a outros objetos. A verificação da propriedade do objeto Error depois de cada interação com um objeto remove a ambiguidade do objeto que o código estava acessando durante a ocorrência do erro. Assim, você pode ter certeza de que o objeto colocou o código de erro em Error.Number, assim como aquele objeto que gerou originalmente o erro (Error.Source).

Exemplo

Este exemplo força um erro, captura-o e exibe as propriedades Description, Number, Source, HelpContext e HelpFile do objeto Error resultante.

    Sub DescriptionX() 
     
     Dim dbsTest As Database 
     
     On Error GoTo ErrorHandler 
     
     ' Intentionally trigger an error. 
     Set dbsTest = OpenDatabase("NoDatabase") 
     
     Exit Sub 
     
    ErrorHandler: 
     Dim strError As String 
     Dim errLoop As Error 
     
     ' Enumerate Errors collection and display properties of 
     ' each Error object. 
     For Each errLoop In Errors 
     With errLoop 
     strError = _ 
     "Error #" & .Number & vbCr 
     strError = strError & _ 
     " " & .Description & vbCr 
     strError = strError & _ 
     " (Source: " & .Source & ")" & vbCr 
     strError = strError & _ 
     "Press F1 to see topic " & .HelpContext & vbCr 
     strError = strError & _ 
     " in the file " & .HelpFile & "." 
     End With 
     MsgBox strError 
     Next 
     
     Resume Next 
     
    End Sub