Błąd uruchomieniowy, znany również jako błąd runtime, to błąd, który występuje, gdy program jest w trakcie wykonywania lub "uruchamiania". W przeciwieństwie do błędu kompilatora, który występuje, gdy program jest tłumaczony z języka programowania na postać binarną, błąd czasu wykonywania występuje, gdy aplikacja jest uruchomiona, a ze względu na połączenie kodu i danych aplikacja nie jest w stanie ukończyć swojej pracy.
Błędy uruchomieniowe mogą być albo śmiertelne, co oznacza, że program nie jest w stanie kontynuować swojej pracy, albo błąd może być możliwy do odzyskania, co oznacza, że program może korzystać z technik takich jak obsługa wyjątków, aby odzyskać od błędu i kontynuować pracę. Przyczyna błędu uruchomieniowego może być różna, w tym nieprawidłowe lub nieprawidłowe dane wejściowe, nieprawidłowe obliczenia, błędy w programie lub dane nieoczekiwane przez aplikację.
Jednym z najczęstszych typów błędów uruchomieniowych jest naruszenie dostępu do pamięci, które występuje, gdy program próbuje zapisać, odczytać lub wykonać pamięć, do czego nie jest upoważniony. Może się to zdarzyć z powodu nieprawidłowych wartości danych, nieprawidłowych wskaźników, wycieków pamięci lub przepełnienia bufora.
Aby zapobiec występowaniu błędów w czasie wykonywania, konieczne jest przeprowadzanie przeglądów kodu, korzystanie z narzędzi do debugowania i testowanie pod kątem błędów. Ważne jest również, aby w miarę możliwości korzystać z wbudowanej obsługi wyjątków w celu obsługi nieoczekiwanych danych lub okoliczności.
Podsumowując, błędy uruchomieniowe to błędy występujące podczas działania programu i mogą obejmować zarówno błędy krytyczne, które uniemożliwiają działanie programu, jak i błędy możliwe do odzyskania, z którymi można sobie poradzić za pomocą obsługi wyjątków. W celu wykrywania i zapobiegania błędom czasu wykonywania ważne jest przeprowadzanie przeglądów kodu, korzystanie z narzędzi do debugowania i testowanie pod kątem błędów.