Criar Web, manuais e recursos para desenvolvimento web
Manuais
Programas
FAQS
Diretório
Comunidade
  Inicio > Manuais > Workshop de ASP
SEÇÕES
Manuais relacionados
+Workshop de ASP
Categorias
+ASP
+Scripts em ASP

Índice do Manual Workshop de ASP
+ Melhorar o registro em buscadores
+ Include. Incluir arquivos ASP
+ Crie seu próprio buscador
+ O objeto RecordSet
+ Paginar resultados em ASP
+ Global .ASA
+ Contar usuários ativos
+ Percorrido arrays e coleções
+ Mais sobre cookies
+ Detector de navegador
+ Trabalho com o buffer da página
+ Utilização ou não do Cache
+ Objeto Server
+ Leitura e escritura de arquivos em ASP
+ Cálculo de dias que faltam para uma data
+ Componentes do servidor ASP
+ AspUpload
+ Exportar dados de MySQL a Microsoft Access
+ Exportar dados de Access a MySQL
+ Mandar e-mails pelo ASP
+ Criar banco de dados Access com ASP
+ Passagem de variáveis pela URL
+ Uso de CDONTS para script de recomendar a um amigo em ASP
+ Servidores nos EUA e o asp
+ Como fazer zonas aleatórias em asp
+ Selects dependentes com ASP e banco de dados
+ Sistema de Recomendação em ASP com CDONTS
+ Encaminhar o navegador a uma URL com ASP detalhado
+ Uso de cookies
+ Galeria de imagens em ASP
+ Escrever um arquivo Excel através de ASP
+ Tratar erros em sentenças SQL executadas em ASP
+ Validar uma data com ASP
+ Arredondar decimais em ASP
+ Devolver um arquivo de Word através de uma página ASP
+ Um Chat em ASP
+ Averiguar o endereço IP de um visitante e bloquear IPs, em ASP
+ Lista dos arquivos de um diretório com ASP
+ Percorrido genérico por um recordset com ASP
+ Intranets com ASP
+ Restringir o acesso a páginas com ASP
+ Saídas em formato compatível Excel
+ Variáveis de servidor em ASP
+ GeoLite Country para ASP. Conhecer o país de um IP
+ Um Sistema de postais Virtuais em ASP I
+ Um Sistema de postais Virtuais em ASP II
+ Messenger através de BD em ASP
+ Objeto Datagrid de ASP.NET em ASP
+ Percorrer campos de formulário complexos em ASP
+ Percorrer valor do campo auto-numérico depois de inserir em ASP
+ O Objeto Browser Capabilities
+ Buscador simples em ASP melhorado

Descrição dos capítulos

Parceiros
- CSS para Web Design
- S.O.S Designers
- Slackware-Brasil
- Crie seu Web site
- Oficina da Net


Tratar erros em sentenças SQL executadas em ASP

Como fazer para que as sentenças SQL mal formadas não dêem erros nas páginas ASP e possam ser tratadas para informar ao usuário ou ao administrador.


Veremos um pequeno workshop que poderá servir para fazer nossas aplicações ASP mais completas e compactas. Trata-se de evitar um erro bastante freqüente na programação de páginas, que ocorre quando se tenta executar uma sentença SQL mal formada. Nestes casos, o servidor nos informa do erro, embora sempre ofereça informação que não serve muito para o visitante, inclusive pode lhe confundir. Seria preferível que nós tratássemos o erro e informássemos por nossa conta ao usuário, de uma maneira agradável e clara.

Para isso, vamos realizar um tratamento de erros em ASP, que evitará que a página se detenha diante de um erro e nos permita fazer coisas se isto ocorrer.

On error Resume Next
conn.execute(ssql)
if Err<>0 then
' realizo acoes para tratar o erro
end if

Com a primeira linha estamos dizendo a ASP que se ocorrer um erro não ser informado dele, e sim, que continue. Na segunda linha executamos uma sentença SQL.

No seguinte bloco se avalia a variável de sistema "Err", que armazena um possível erro. Se a variável vae qualquer coisa diferente de 0, então é porque ocorreu um erro. Portanto, no caso positivo do if poderemos realizar qualquer tipo de ação para tratar o erro.

Tratar o erro de uma maneira simples

Para tratar o erro de uma maneira fácil de implementar, dentro do if poderíamos chamar a uma função que se encarregasse de fazer todas as ações frente a um erro.

Essa função poderia receber o erro e introduzi-lo em um log de erros. Poderia também informar por correio ao administrador e obviamente, mostrar uma mensagem de erro claro ao visitante.

sub tratar_erro_ssql(ssql,meuerro)

'trato o possivel erro
'coloco a sentenca errada em um arquivo de texto

'criamos o textstream do arquivo
arquivo= request.serverVariables("APPL_PHYSICAL_PATH") & "erros\log.txt"
set confile = createObject("scripting.filesystemobject")
set fich = confile.OpenTextFile (arquivo,8)
'escrevo no arquivo
fich.WriteLine(ssql)
fich.WriteLine(Err.Description)
fich.WriteLine("-----------------------------")

'fechamos o arquivo
file.close()

'vou informar ao administrador
set obj_mail = server.createObject("Persits.MailSender")
assunto_mensagem = "Erro SQL na página"
email_origem_mensagem = "correio@dominio.com"
texto_origem_mensagem = "Empresa"
txt_mail = "Detectamos um erro. Consulte o log de erros para encontrar descrição."
txt_mail = txt_mail & VBNEWLINE & VBNEWLINE & ssql
txt_mail = txt_mail & VBNEWLINE & VBNEWLINE & meuerro

obj_mail.host = "smtp.dominio.com"
obj_mail.from = email_origem_mensagem
obj_mail.FromName = texto_origem_mensagem
obj_mail.Subject = assunto_mensagem
obj_mail.AddAddress email_alertas
obj_mail.body = txt_mail
'o envio
obj_mail.send

'vou informar ao usuario
response.write "Sentimos muito, mas sua ação não pode ser realizada. Entre em contato com os administradores para obter ajuda."

end sub

Esta função faz tudo o que foi comentado para tratar do erro. Primeiro escreve o log de erros em um arquivo de texto, logo envia um correio eletrônico ao administrador e finaliza mostrando um erro ao usuário. A função está toda comentada para que se entenda melhor tudo o que foi realizado (como enviar o e-mail através de ASP ou abrir o arquivo de texto) que já foi visto em outros workshops de ASP.

Autoria e outras referências sobre este artigo

Manuais relacionados com este artigo
Dentro de Workshop de ASP

Categorias relacionadas
Através das categorias do nosso diretório podem ser encontrados outros tipos de recursos relacionados com este artigo:
+ Entrar em ASP
+ Entrar em Scripts em ASP


Comentário sem rever
Entre os comentários não revistos podem ter alguns interessantes que tenham sido enviado recentemente.
 Foi encontrado um comentário sem rever

VerVer os comentários não revistos



Sobre nós | Copyright | Anuncie | Entrar em contato <criarweb>

Hospedado por Hostnet Hospedagem de Sites