viernes, 6 de junio de 2025

Manejo de errores al modificar tablas

//adriano boller
//Modo de usar

If hadd(tabela) = false
    FazerAcaoCasoErro()

End 

FazerAcaoCasoErro()

PROCEDURE FazerAcaoCasoErro() 

Info("Algo deu errado", HErrorInfo(), ErrorInfo())

SWITCH HError()

CASE 70001

info( "Erro ao abrir a conexão com o banco de dados. Verifique se o servidor está disponível.")

              //Execute70001

CASE 70002

info( "Erro de autenticação. Usuário ou senha inválidos.")

              //Execute70002

CASE 70003

info( "Erro ao executar a query. Verifique a sintaxe SQL.")

              //Execute70003

CASE 70004

info( "A tabela referenciada não foi encontrada no banco de dados.")

              //Execute70004

CASE 70005

info "Violação de integridade referencial (chave estrangeira ou primária).")

               //Execute70005

CASE 70006

info( "Tentativa de inserir um registro duplicado (chave única).")

               //Execute70006

CASE 70007

info( "Erro ao acessar o arquivo de dados (possível corrupção ou ausência).")

              //Execute70007

CASE 70008

info( "Problema ao gravar no banco de dados. Verifique espaço em disco ou permissões.")

               //Execute70008

CASE 70009

info( "Erro de bloqueio. O registro já está sendo usado por outro processo.")

  //Execute70009
CASE 70010
info( "O campo solicitado não existe na estrutura da tabela.")
               //Execute70010
CASE 70011
info( "Problema na transação. Pode ser necessário usar HTransactionCancel().")
                //Execute70011
CASE 70012
info( "Erro de comunicação com o banco. Verifique a rede ou timeouts.")
              //Execute70012
OTHER CASE
info( "Erro desconhecido” + HErrorInfo())
END

No hay comentarios.:

Publicar un comentario

Try catch end

 // -------------------------------------------------- // Procedure principal que executa uma query com tratamento de exceção // -----------...