quinta-feira, 3 de janeiro de 2008

📊 Tabela de Erros Comuns no COBOL 4.x

 



📊 Tabela de Erros Comuns no COBOL 4.x

(O museu do código que sobreviveu por sorte)

“COBOL 4 não perdoa erros…
ele apenas adia a cobrança.”

— Bellacosa



🟥 ERROS DE DADOS E NUMÉRICOS (os mais perigosos)

Erro comumPor que acontece no COBOL 4Sintoma clássicoRisco real
MOVE alfanumérico → numérico sem validaçãoCOBOL 4 é permissivoResultado “estranho”Dados corrompidos
Campo COMP com lixoFalta de NUMCHECKValor inválido silenciosoABEND S0C7
Campo não inicializadoWORKING-STORAGE “herdada”Resultado imprevisívelErro intermitente
Truncamento implícitoFalta de TRUNCPerda de centavosErro contábil
Uso errado de PICPIC não condiz com o dadoMOVE aceitaCálculo errado

🥚 Easter-egg:

“Nunca deu problema” é o sintoma mais comum.


🟧 ERROS DE CONTROLE DE FLUXO

Erro comumPor que passa no COBOL 4SintomaConsequência
PERFORM sem END-PERFORMSintaxe antiga aceitaLoop infinitoCPU 100%
GO TO cruzando lógicaPermitidoFluxo ilegívelBug fantasma
PERFORM THRU mal definidoDependência de labelsExecução indevidaLógica quebrada
IF sem END-IFAmbiguidadeDecisão erradaRegra violada

Bellacosa rule:

Se tem GO TO, alguém já chorou por isso.


🟨 ERROS DE ARQUIVOS (Batch Killers)

Erro comumCausa típicaSintomaImpacto
FILE STATUS ignorado“Sempre abre”JOB termina normalDados errados
READ sem AT ENDPressuposto erradoLoop infinitoBatch travado
WRITE sem verificaçãoFalta de validaçãoArquivo inconsistenteReprocessamento
OPEN erradoCopybook confusoAbend S013/S213Job abortado

🥚 Easter-egg de produção:

O JOB “rodou verde”, mas gerou arquivo vazio.


🟦 ERROS DE MEMÓRIA E STORAGE

Erro comumPor que ocorreSintomaResultado
REDEFINES mal alinhadoEstrutura erradaDado incoerenteCorrupção
OCCURS sem limitesFalta de índiceLeitura foraS0C4
INDEX mal usadoMistura de tiposLoop erradoDados perdidos
DEPENDING ON inválidoValor sujoOCCURS erradoOverrun

🟪 ERROS DE PERFORMANCES (invisíveis)

Erro comumPor que é ignoradoSintomaCusto
MOVE desnecessárioCódigo antigoCPU altaMIPS caro
Loop mal definidoFalta de controleBatch lentoSLA estourado
Uso excessivo de DISPLAYDebug legadoLentidãoI/O inútil
Falta de OPTIMIZEPadrão conservadorCódigo ineficienteMais CPU

Bellacosa truth:

Performance ruim é bug financeiro.


🟫 ERROS DE COMPILAÇÃO (clássicos)

Erro comumCOBOL 4 permiteResultadoPerigo
Compilar sem SSRANGEDefault antigoOverflow invisívelCrash futuro
Compilar sem NUMCHECKTolerância excessivaDado inválidoS0C7
Ignorar warnings“Não quebra”Bug latenteProdução
TRUNC erradoDefault históricoTruncamentoErro monetário

☠️ ABENDS mais ligados a COBOL 4

ABENDCausa típica
S0C7Campo numérico inválido
S0C4Endereço inválido
S013Arquivo mal definido
S222Loop infinito
S0CBViolação de storage

🎓 Resumo para Padawans

✔ COBOL 4 funciona por tolerância
✔ Erros ficam escondidos
✔ Bugs surgem anos depois
✔ Migração para COBOL 5 revela tudo


🧠 Frase final Bellacosa™

“COBOL 4 não valida.
Ele confia.
E confiança sem validação é bug.”

 

Sem comentários:

Enviar um comentário