Kada govorimo o računalnim aplikacijama, pogreška je pogreška ili neslaganje u izvršavanju programa ili u datoteci ili izračunu. Računalna pogreška može biti uzrokovana nekoliko čimbenika. Jedna je pogreška operatera ili korisnika. Na primjer, ako korisnik pristupi naredbi “Zalijepi” kada ništa nije kopirano, to bi bio primjer korisničke pogreške koja bi se mogla dogoditi u bilo kojem programu u bilo kojem trenutku. Ostale pogreške koje se javljaju uključuju sam softver. Dvije važne klase pogrešaka su pogreška u vremenu prevođenja i pogreška tijekom izvođenja.
Pogreška u vremenu prevođenja događa se dok se program kompajlira, to jest u procesu pretvaranja izvornog koda u izvršni program. Vrijeme izvođenja je izvođenje računalnog programa, za razliku od instaliranja, učitavanja ili izlaska iz programa. Pogreška tijekom izvođenja je greška, bug ili problem koji nastaje dok se program izvršava na određenom računalu u određeno vrijeme. Mnoge pogreške su uhvaćene u statičkom testiranju softvera kada se program prevede – ako je preveden. Hvatanje pogrešaka tijekom izvođenja ključni je fokus dinamičkog testiranja softvera.
Prilikom dijagnosticiranja pogreške tijekom izvođenja, bitno je uzeti u obzir okruženje izvođenja. Izvršno okruženje sličan je konceptu operativnom okruženju. Odnosi se na hardversku i softversku konfiguraciju pod kojom je došlo do pogreške tijekom izvođenja, ako je ponovljiva. Okruženje za vrijeme izvođenja uključuje čimbenike kao što su operativni sustav na računalu, vrsta CPU-a (centralne procesorske jedinice), kao i sistemski softver ili motori za vrijeme izvođenja na kojima se aplikacija oslanja i koji su potrebni za ispravno funkcioniranje.
Tijekom korištenja programa mogu se pojaviti različite vrste pogrešaka tijekom izvođenja. Neke od njih su korisničke pogreške, poput neuspjeha povezivanja ili uključivanja perifernog savjeta ili davanja nevažećih uputa, poput “Zalijepi” kada ništa nije kopirano. Nedostatak resursa je još jedna situacija koja može uzrokovati pogrešku tijekom izvođenja. Računalni virus ili problem s memorijom također mogu uzrokovati pogrešku tijekom izvođenja, kao i sukob s drugim programom.
Ako dođe do pogreške tijekom izvođenja, korisnik može vidjeti poruku o pogrešci. Ponekad u ovoj poruci jednostavno stoji “Dogodila se pogreška tijekom izvođenja” i nudi priliku za otklanjanje pogrešaka. Drugi su specifičniji, kao što su poruke o pogrešci Java run-time “StackOverflowError”, “OutOfMemoryError” ili “VerifiyingError”.