ERROS EM TEMPO DE EXECUÇÃO / RUN TIME ERRORS
ERROS EM TEMPO DE EXECUÇÃO / RUN TIME ERRORS

Erros de execução recuperáveis são esperados acontecer. Estes erros geralmente ocorrem ou devido a erros no seu programa (tipo de variável inválida, divisão por zero etc.) ou devido a alguma condição do ambiente/environment (falta de file handles, violação de compartilhamento de arquivos, memória baixa etc.). Estes erros são capturados pelo sistema de tratamento de erros (error system) e portanto não terminam o aplicativo necessariamente.
Se o sistema de tratamento de erros padrão estiver sendo usado na aplicação, então os erros serão relatados no seguinte formato:
Erro | Advertência <subSistema>/<subCódigo> <mensagem de texto>
<nome do arquivo> | <operação>
Vejamos alguns erros abaixo e suas prováveis soluções a seguir.
O que é Term/2014 Create Error (comando SET PRINTER)
Causa: O arquivo não pode ser criado ou alterado.
Solução: Certifique-se de que haja espaço em disco e entradas de diretório/arquivo suficientes porque existe limite de arquivos em um só diretório. Pode ter muito espaço em disco, mas não pode, em hipótese nenhuma, haver mais de 500 arquivos em um só diretório, por exemplo -não sei exatamente quantos são, ok?!
Verifique se arquivo tem o atributo de "apenas leitura".
Veja se a estação tem direitos de gravação no servidor.
Se estiver em rede, verifique se a impressora remota ou o diretório do servidor (gravando em arquivo) está compartilhado e, portanto, acessível na estação de trabalho.
Determine que os arquivos temporários sejam apagados regularmente. Por exemplo, se seus temporários começam com TMP, exemplo: TMP23421.DBF, e são gravados no diretório C:\TEMP, você pode apor a seguinte linha no seu AUTOEXEC.BAT: IF EXIST C:\TEMP\TMP*.DBF DEL C:\TEMP\TMP*.DBF

Erros Fatais do Compilador
ERROS FATAIS DO COMPILADOR
ERROS FATAIS DO COMPILADOR /
Compiler Fatal Error Messages

Mensagens de Erro Fatal do Compilador
A mensagens de erro fatal do compilador indicam que algum problema muito sério
ocorreu durante a compilaçao de um arquivo programa (.prg). Por causa da
gravidade do erro, a compilaçao termina imediatamente, sem a geraçao de nenhum
arquivo objeto. Nesta caso, o código de retorno do DOS é 1.
O formato geral de uma mensagem de erro fatal é o seguinte:
<arquivo>(<linha>): Error C3xxx <texto>[: <símbolo>]
Vejamos alguns erros abaixo e suas
prováveis soluções a seguir.
O que é o Error C3001: Out of memory?
Causa: Memória insuficiente para continuar a
compilação.
Solução: 1. Reduza o número de funções ou procedures
compiladas em um arquivo objeto; 2. Reduza o número de diretivas de
pré-processamento; 3. Retire os programas residentes na memória; 4. Se
estiver sendo usado um arquivo de script (.CLP) reduza o número de
arquivos especificados no arquivo script.
O que é o Error C3002: Input buffer overflow?
Causa: Encontrada uma linha de comando longa
demais para o pré-processador.
Solução: Divida a linha de comando
em várias menores.

O que é o Error C3003: Can´t open intermediate file?
Causa: O compilador criou um arquivo temporário
para gravar os resultados intermediários e não pôde abri-lo na última
vez.
Solução: Este erro indica que existe algum problema de
hardware ou que o disco está danificado; execute um utilitário de
reparação de HD (Scandisk/Norton Disk Doctor) para corrigir o
problema.

O que é o Error C3004: Bad command line option?
Causa: Especificada uma opção inválida ou
desconhecida na linha de comando do compilador.
Solução: Para
visualizar a lista completa das opções válidas, execute o CLIPPER.EXE
sem nenhum argumento e, então, corrija o erro.

O que é o Error C3005: Bad command line parameter?
Causa: Especificada uma opção na linha de comando
com um argumento desconhecido.
Solução: Para visualizar a lista
completa das opções válidas execute o CLIPPER.EXE sem nenhum
argumento.

O que é o Error C3005: Bad command line parameter?
Causa: Especificada uma opção na linha de comando
com um argumento desconhecido.
Solução: Para visualizar a lista
completa das opções válidas execute o CLIPPER.EXE sem nenhum
argumento.

O que é o Error C3006: Can´t create preprocessed output file?
Causa: Ocorreu um erro na criação do arquivo
.PPO. Esse erro pode ter ocorrido por várias razões: número insuficiente
de "file handles", falta de espaço no disco, ou não permissão para criar
arquivos na rede.
Solução: 1. Aumente o número de "file handles"
alterando o comando FILES no arquivo CONFIG.SYS ou aumente o valor do
parametro F da variável de ambiente CLIPPER (SET CLIPPER=S1,F200 -Por
exemplo.) no AUTOEXEC.BAT. Reinicialize o computador e recompile o
programa; 2. Elimine arquivos desnecessários no disco; 3. Solicite ao
administrador da rede permissão para a criação de arquivos no diretório
usado na compilação.

O que é o Error C3007: Can´t open #include file?
Causa: O pré-processador não conseguiu abrir o
arquivo de cabeçalho especificado através da diretiva #INCLUDE.
Solução: Certifique-se de que o nome do arquivo está correto;
Direcione o compilador para a localização correta do diretório onde
estão os arquivos de cabeçalho (.CH) com o comando SET INCLUDE
no DOS (ponha-o no AUTOEXEC.BAT) ou com a chave /I de
compilação.

O que é o Error C3008: Bad filename in #include?
Causa: Especificado um nome inválido para o
arquivo de cabeçalho a ser lido pela diretiva #INCLUDE.
Solução:
Coloque o nome do arquivo entre aspas.

O que é o Error C3009: Too many nested #includes?
Causa: Encontradas mais de 16 diretivas #INCLUDE
intercaladas.
Solução: Reduza o número de diretivas.

O que é o Error C3010: Invalid name follows #?
Causa: O pré-processador encontrou uma diretiva
inválida.
Solução: Verifique a sintaxe da diretiva.

O que é o Error C3010: Invalid name follows #?
Causa: O pré-processador encontrou uma diretiva
inválida.
Solução: Verifique a sintaxe da diretiva.

O que é o Error C3011: Can´t open standard rule file?
Causa: O compilador não conseguiu abrir o arquivo
de cabeçalho padrão (STD.CH) ou o arquivo especificado pela opção /U.
Solução: Verifique se o nome está correto. Direcione o compilador
para a localização correta do arquivo com o comando SET
INCLUDE= no DOS ou com a chave /I de compilação.

Erros de Execução Irrecuperáveis
MENSAGENS DE ERRO IRRECUPERÁVEIS
MENSAGENS DE ERRO DE
EXECUÇÃO IRRECUPERÁVEIS /
Runtime unrecoverable errors

São erros que por alguma razão não puderam fazer
uso do sistema de tratamento de erros (error system). Assim como os erros
de execução (runtime errors), é normal acontecer. É usualmente porque o
sistema foi incapaz de executar o code block para tratamento do erro.
Quase todos estes erros estão relacionados com o ambiente (falta de memória,
erros de leitura de disco etc) e podem ser consertados fazendo uma troca no
ambiente.
Sempre tem o seguinte formato:
<operação> (<número da linha>) Unrecoverable error xxxx:<mensagem sobre o erro>
Vejamos alguns erros abaixo e suas prováveis
soluções a seguir.
O que é Unrecoverable error 332: String/array memory overflow ?

O que é Unrecoverable error 415: Cannot open overlay file ?
Causa: Não foi possível encontrar ou abrir um
arquivo overlay. Arquivos overlay incluem arquivos executáveis (.EXE),
bibliotecas pré-linkeditadas (.PPL) e arquivos overlay estáticos (.OVL).
A causa mais comum desste erro é a insuficiência de File Handles
disponíveis para a aplicação.
Solução: Certifique-se de que a
localização esteja correta e que o número de handles seja
suficiente.

O que é o
erro Unrecoverable error 24: Write error ?
Causa: Erro de gravação em um banco de dados ou
índice.
Solução: Verifique se há espaço suficiente no disco e
entradas disponíveis no diretório (arquivos demais, FAT esgotada), bem
como se o arquivo não está marcado como read-only (apenas
leitura). Em rede, verifique se o usuário/aplicação tem permissão de
gravar no arquivo.

O que é Unrecoverable error 331: String/array memory overflow ?
Causa: Excedida capacidade máxima do Segment
Virtual Object Store (SVOS) do Clipper. A causa mais comum deste
erro é a existência de declarações de matrizes extremamente grandes,
tais como LOCAL matriz1[500][300].
Solução: Reduza o
tamanho e/ou o número de strings e matrizes que estejam ativos ao mesmo
tempo.

O que é Unrecoverable error 5302: Conventional memory exhausted ?
O mesmo que Unrecoverable error
5302/5304/5306/5312 Conventional memory exhausted Veja o de número
5312 para causas e
soluções.

O que é Unrecoverable error 5312: Conventional memory exhausted ?
Causa: Não existe memória convencional suficiente
p/ continuar.
Solução: Deixe mais memória disponível p/ a
aplicação: Aumente o valor da opção E da variável CLIPPER,
ou deixe mais expaço disponível no disco e aumentando o valor da opção
SWAPK da variável CLIPPER; Reduza o tamanho e/ou número de
strings e matrizes ativos ao mesmo tempo; Libere mais memória
convencional para o Clipper, exclua arquivos TSR (residentes)
insignificantes; carregue somente o que necessário no seu Config.sys
(com DEVICEHIGH) e Autoexec.bat (com loadhigh, ou LH
).

O que é o Error C3012: Too many standard rules?
Causa: Encontradas muitas regras no
arquivo-cabeçalho padrão STD.CH ou no arquivo especificado pela opção
/U.
Solução: Mova algumas das diretivas #translate ou #command
para um segundo arquivo e então use o comando #include para incluir este
arquivo no início de cada .PRG da aplicação/sistema.

O que é o Error C3012: Too many standard rules?
Causa: Encontradas muitas regras no
arquivo-cabeçalho padrão STD.CH ou no arquivo especificado pela opção
/U.
Solução: Mova algumas das diretivas #translate ou #command
para um segundo arquivo e então use o comando #include para incluir este
arquivo no início de cada .PRG da aplicação/sistema.

O que é o Error C3013: Expression stack overflow?
Causa: Encontrada uma procedure ou função muito
grande, ou uma expressão muito complexa.
Solução: Divida a
procedure, função ou expressão em partes menores.

O que é o Error C3014: Expression stack underflow?
Causa: Encontrada uma procedure ou função muito
grande, ou uma expressão muito complexa.
Solução: Divida a
procedure, função ou expressão em partes menores.

O que é o Error C3015: Control stack overflow?
Causa: Encontradas muitas estruturas de controle
de fluxo de execução intercaladas umas dentro das outras.
Solução: Simplifique a lógica do programa.

O que é o Error C3016: Control stack underflow?
Causa: Encontradas muitas estruturas de controle
de fluxo de execução intercaladas umas dentro das outras.
Solução: Simplifique a lógica do programa.

O que é o Error C3017: Error reading or opening script file?
Causa: O compilador não conseguiu encontrar ou
abrir o arquivo de script (.CLP) especificado.
Solução:
Certifique-se de que o arquivo esteja no diretório corrente, ou informe
o caminho como parte do nome do arquivo script.

O que é o Error C3018: Too many symbols?
Causa: O programa fonte, que está sendo compilado
no arquivo objeto corrente, usa muitos símbolos.
Solução:
Simplifique o programa para reutilizar nomes de variáveis, quando
possível, em vez de definir novas variáveis.

O que é o Error C3019: Too many publics?
Causa: Foi tentado compilar um grupo muito grande
de programas fonte em um único programa objeto de uma só vez ou um dos
programas da lista (.PRG) está grande demais.
Solução: Divida a
compilação em grupos, com um número menor de programas fonte; Compile
usando o modo de arquivo único (um .OBJ para um .PRG), através da chave
/M de compilação. Vide manual do Clipper para detalhes de como
implementar este esquema; Coloque algumas funções deste programa
(.PRG)em outro programa menor, diminuindo o tamanho daquele sem
prejudicar o outro, no caso de não haver funções neste programa,
selecione algumas rotinas que possam ser segregadas do programa e crie
uma função com esta rotina noutro programa menor.
