Logisk fejl (programmering)

Denne artikel handler om den logiske fejl i programmering. For fejl relateret til overtrædelse af den logiske korrekthed af ræsonnement, se Logisk fejl .

I programmering er en logisk fejl en fejl , der får programmet til at fungere forkert, men ikke til at crashe programmet .

Logiske fejl kan forekomme i både compilere og fortolkere . I modsætning til syntaksfejl er programmer med en logisk fejl korrekte programmer, selvom de i de fleste tilfælde ikke opfører sig som oprindeligt tiltænkt [1] .

Eksistensen af ​​denne type fejl er forbundet med forkerte handlinger i beslutningsfasen.

I C++ kaldes en særlig undtagelse ( logic_exception ) også en logisk fejl .

Generelle grunde

Fejl kan forbindes både med de enkleste tastefejl i skriveoperatorer og i et forvirrende valg af algoritmegrene. Der er også mange andre årsager: forkert type casting , brug af en variabel uden for dens omfang , manglende kodefragment og en udvikler, der misforstår kravene.

Debugging logik fejl

En måde at finde denne type fejl på er at udskrive listen over variabler i programmet (til en ekstern fil eller til skærmen). Selvom denne metode ikke virker, hvis fejlen er ved at kalde den forkerte funktion , er den stadig den enkleste, hvis den matematiske algoritme ikke er implementeret korrekt .

Eksempler

I dette eksempel er formålet med funktionen at returnere gennemsnittet af de to givne tal. Fejlen ligger i, at der ikke er taget højde for operatørernes forrang (opdelingen i udtrykket beregnes før additionsoperationen) og fraværet af parenteser af denne grund.

int gennemsnit ( int a , int b ) { returnere a + b / 2 ; /* korrekt notation (a + b) / 2 */ }

Se også

Noter

  1. Kend dine fejl. Tre typer af fejl i programmering . Microsoft. Dato for adgang: 5. januar 2017. Arkiveret fra originalen 6. januar 2017.