När man talar om datortillämpningar är ett fel ett misstag eller diskrepans i exekveringen av ett program eller i en fil eller beräkning. Ett beräkningsfel kan orsakas av flera faktorer. Det ena är operatörs- eller användarfel. Till exempel, om en användare kommer åt kommandot ”Klistra in” när ingenting har kopierats, skulle detta vara ett exempel på ett användarfel som kan inträffa i vilket program som helst när som helst. Andra fel som uppstår involverar själva programvaran. Två viktiga klasser av fel är kompileringstidsfelet och körtidsfelet.
Ett kompileringsfel inträffar när programmet kompileras, det vill säga i processen att källkoden blir ett körbart program. Run-time är exekveringen av ett datorprogram, till skillnad från att installera, ladda eller avsluta programmet. Ett körtidsfel är en glitch, bugg eller problem som uppstår när ett program körs på en viss dator vid en viss tidpunkt. Många fel fångas upp i statisk mjukvarutestning när ett program kompileras – om det är kompilerat. Att fånga körtidsfel är ett nyckelfokus för dynamisk testning av programvara.
Vid diagnostisering av ett körtidsfel är det viktigt att ta hänsyn till körtidsmiljön. Runtime-miljön är ett liknande koncept som driftmiljön. Det hänvisar till hårdvaru- och mjukvarukonfigurationen under vilken körtidsfelet inträffade eller inträffar, om det är reproducerbart. Runtime-miljön inkluderar faktorer som operativsystemet på datorn, typen av CPU (Central Processing Unit), samt systemprogramvara eller runtime-motorer som applikationen använder och kräver för att fungera korrekt.
Olika typer av körtidsfel kan uppstå när ett program används. Några av dem är användarfel, som att misslyckas med att ansluta eller slå på en kringutrustning eller ge en ogiltig instruktion, som ”Klistra in” när ingenting har kopierats. Saknade resurser är en annan situation som kan orsaka ett körtidsfel. Ett datavirus eller ett minnesproblem kan också orsaka ett körtidsfel, liksom en konflikt med ett annat program.
Om ett körtidsfel uppstår kan användaren se ett felmeddelande. Ibland säger det här meddelandet helt enkelt ”Ett körtidsfel har inträffat” och erbjuder en chans att felsöka. Andra är mer specifika, som Java-runtime-felmeddelandena ”StackOverflowError”, ”OutOfMemoryError” eller ”VerifyingError.”