У чым розніца паміж сур'ёзнай і несур'ёзнай памылкай?
адказ 1:
Гэта гучыць як цыкл, але: сур'ёзныя памылкі сур'ёзныя. Усё, што вы спрабавалі, працягваць не можа, і цяпер мёртва.
Несур'ёзная памылка азначае, што здарылася нешта дрэннае, але мы змаглі аднавіцца і працягнуць.
Давайце скарыстаемся аўтамабілем у якасці аналогіі:
- Плоскія шыны не з'яўляюцца фатальнымі памылкамі. Вы не можаце праехаць, пакуль не ўхіліце праблему, але можаце пакласці на запаснае кола і працягваць, пакуль не адрамантуеце або заменіце шыну. Лабавыя сутыкненні - гэта сур'ёзныя памылкі. Ваша машына разбіта, іншая машына разбіта і зноў ніхто не ездзіць. І адзін ці некалькі пасажыраў транспартных сродкаў могуць быць забітыя. Смяротны, вядома.
Такім чынам ... назад да праграмавання.
Выклік малалока і вяртанне NULL не абавязкова смяротны. Вы не маглі размеркаваць памяць, але вы ўсё яшчэ можаце працягнуць. Магчыма, вы маглі б вызваліць іншыя рэсурсы.
Калі ў вас ёсць памылкі, якія непапраўна пашкоджваюць дадзеныя і губляюць працу, гэта фатальна. Вы зрабілі няправільную рэч, страцілі свае дадзеныя і аднаўлення няма.
Ну, гэта не адзінае выкарыстанне "фатальнага" і "нефатальнага" ў праграмным кантэксце. Але гэта павінна даць вам уяўленне, як над гэтым думаць.