AspClassico - Utilizando o Err.Raise do asp
<%
On Error Resume Next
' Simulação de um erro ao tentar abrir um arquivo que não existe
Dim objFSO, objFile
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("c:caminhoinexistente.txt", 1)
' Verifica se ocorreu um erro ao abrir o arquivo
If Err.Number <> 0 Then
Err.Raise vbObjectError + 1, "Script", "Erro ao abrir o arquivo: " & Err.Description
End If
' Continua o script normalmente
On Error GoTo 0
' Simulação de outro erro ao tentar dividir por zero
Dim a, b, resultado
a = 10
b = 0
On Error Resume Next
resultado = a / b
' Verifica se ocorreu um erro na divisão
If Err.Number <> 0 Then
Err.Raise vbObjectError + 2, "Script", "Erro ao dividir por zero: " & Err.Description
End If
On Error GoTo 0
' Mostrar o resultado se não houver erro
response.write "Resultado da divisão: " & resultado
' Limpar os objetos
Set objFile = Nothing
Set objFSO = Nothing
%>
Tratamento de erro ao abrir um arquivo inexistente:
- Tenta abrir um arquivo que não existe, o que gera um erro.
- Se ocorrer um erro (Err.Number <> 0), levanta um novo erro customizado com Err.Raise.
Tratamento de erro ao dividir por zero:
- Tenta dividir um número por zero, o que gera um erro.
- Se ocorrer um erro, levanta um novo erro customizado com Err.Raise.
Configuração de On Error Resume Next e On Error GoTo 0:
- On Error Resume Next: Continua a execução do script após um erro, permitindo que o script manipule o erro.
- On Error GoTo 0: Desativa o tratamento de erros personalizado, fazendo com que o ASP pare a execução do script em caso de erro.
Este exemplo mostra como usar Err.Raise para criar mensagens de erro personalizadas e lidar com erros de forma mais robusta em um script ASP.