Zauważyłem, że niektóre programy w systemie Windows zamykają się z powodu wystąpienia błędu. Błąd nie musi być w samym programie, może wystąpić również w innym programie, z którym współpracuje
Na przykład:
VirtualDub - błąd w kodeku Xvid
Firefox - błąd we wtyczce potrzebnej do wyświetlania pewnej zawartości
Gadu-Gadu - błąd przy wyświetlaniu banera
Comodo internet Security - samoistnie, tak po prostu, nie wykonywałem żadnej operacji
W wymienionych programach w przypadku błędu nie pojawia się systemowe okienko informujące o błędzie z propozycją wysłania raportu do firmy Microsoft, tylko widać wyraźnie, że autor programu zaimplementował własną funkcję obsługi i raportowania błędów (w Gadu-Gadu i Firefox jest propozycja wysłania raportu do autorów programów). Ale to nie zmienia faktu, że błąd powoduje zamknięcie całego programu. Co ciekawe, Firefox jest w stanie odtworzyć adresy stron oglądanych w momencie wystąpienia błędu.
Temu, że zdarzają się błędy trudno się dziwić, bo nie sposób dokładnie przetestować działania na wszystkich możliwych konfiguracji sprzętowych i programowych, ale widać, że autorzy wymienionych programów wzięli to pod uwagę, ale zrobili, jak zrobili.
W takim razie zasadnicze pytanie, dla zadania którego pisze ten post:
Jaki jest sens, żeby zamykać cały program (a może nawet "zabijać" proces) bez zgody użytkownika, tylko dlatego, że wystąpił jakiś drobny błąd, i to jeszcze nie w samym programie, tylko w innej bibliotece lub wtyczce, z którą współpracuje? Przecież, gdyby nie zamykać programu, to ta funkcja, w której wystapił błąd może nie będzie działać, ale reszta programu powinna działać.
Ewentualnie program po wystąpieniu błędu mógłby pytać się użytkownika, czy zamknąć program, czy nie.