Em 4D, há duas possibilidades principais para a localização e correção de seu código: ou bem utilizando o  para localizar e corrigir qualquer erro ou chamando ao comando ON ERR CALL para capturar o erro e tomar as medidas adequadas. Podemos utilizar estas duas técnicas para resolver os problemas encontrados com o código SQL.
Este é um exemplo onde falta um parênteses intencionalmente: no lugar de HAVING SUM(Sold_Tickets <:$MinSoldTickets), temos HAVING SUM(Sold_Tickets <:$MinSoldTickets.
 ARRAY LONGINT(aSoldTickets;0)
 ARRAY INTEGER(aMovieYear;0)
 C_LONGINT($MovieYear;$MinSoldTickets)
 $MovieYear:=1979
 $MinSoldTickets:=10000000
 
 Begin SQL
    SELECT Year_of_Movie, SUM(Sold_Tickets)
    FROM MOVIES
    WHERE Year_of_Movie >= :$MovieYear
    GROUP BY Year_of_Movie
    HAVING SUM(Sold_Tickets < :$MinSoldTickets
    ORDER BY 1
    INTO :aMovieYear,  :aSoldTickets;
 End SQLComo você pode ver na janela inferior, a aplicação detecta o erro e abre a 
 que oferece informação mais detalhada sobre o erro e o lugar onde ocorreu.  Então é fácil de corrigir somente em pressionar o botão 
Editar. 

Se o erro é más complexo, a aplicação oferece mais informação incluindo o conteúdo da pilha, que pode ser vista pressionando o botão Detalhes.
Para provar o exemplo anterior, na janela principal da base "4D SQL Code Samples", pressione o botão Depurar o código SQL.
    A segunda possibilidade principal para o seguimento de erros SQL utiliza o comando ON ERR CALL.
Este é um exemplo que instala o método SQL_Error_Handler para detectar erros encontrados no código SQL.
 ARRAY LONGINT(aSoldTickets;0)
 ARRAY INTEGER(aMovieYear;0)
 C_LONGINT($MovieYear;$MinSoldTickets;MySQL_Error)
 $MovieYear:=1979
 $MinSoldTickets:=10000000
 MySQL_Error:=0
 
  
 ON ERR CALL("SQL_Error_Handler")
 Begin SQL
    SELECT Year_of_Movie, SUM(Sold_Tickets)
    FROM MOVIES
    WHERE Year_of_Movie >= :$MovieYear
    GROUP BY Year_of_Movie
    HAVING SUM(Sold_Tickets < :$MinSoldTickets
    ORDER BY 1
    INTO :aMovieYear,  :aSoldTickets;
 End SQL
  
 ON ERR CALL("")O método SQL_Error_Handler é o seguinte:
 If(MySQL_Error#0)
    ALERT("SQL Error number: "+String(MySQL_Error))
 End ifPara provar o exemplo anterior, na janela principal desde a base "4D SQL Code Samples" pressione o botão 
Using ON ERR CALL.