// Procedure principal que executa uma query com tratamento de exceção
// --------------------------------------------------
PROCEDURE ExecutarConsultaComTratamento()
sSQL is string = "SELECT * FROM cliente WHERE cidade = 'Curitiba'"
TRY
IF NOT HExecuteSQLQuery(MyQuery, hQueryDefault, sSQL) THEN
// Se a query falhar, forçamos uma exceção manual
Error("Erro na consulta")
ExceptionThrow(HError()) // Dispara a exception com o código de erro
END
// Continua a execução se der certo
HReadFirst(MyQuery)
WHILE NOT HOut()
Trace(MyQuery.Nome + " - " + MyQuery.Email)
HReadNext(MyQuery)
END
CATCH (ErroBD)
Info("Erro capturado via exceção: " + FazerAcaoCasoErro(ErroBD))
END