У чым розніца паміж сур'ёзнай і несур'ёзнай памылкай?


адказ 1:

Гэта гучыць як цыкл, але: сур'ёзныя памылкі сур'ёзныя. Усё, што вы спрабавалі, працягваць не можа, і цяпер мёртва.

Несур'ёзная памылка азначае, што здарылася нешта дрэннае, але мы змаглі аднавіцца і працягнуць.

Давайце скарыстаемся аўтамабілем у якасці аналогіі:

  • Плоскія шыны не з'яўляюцца фатальнымі памылкамі. Вы не можаце праехаць, пакуль не ўхіліце праблему, але можаце пакласці на запаснае кола і працягваць, пакуль не адрамантуеце або заменіце шыну. Лабавыя сутыкненні - гэта сур'ёзныя памылкі. Ваша машына разбіта, іншая машына разбіта і зноў ніхто не ездзіць. І адзін ці некалькі пасажыраў транспартных сродкаў могуць быць забітыя. Смяротны, вядома.

Такім чынам ... назад да праграмавання.

Выклік малалока і вяртанне NULL не абавязкова смяротны. Вы не маглі размеркаваць памяць, але вы ўсё яшчэ можаце працягнуць. Магчыма, вы маглі б вызваліць іншыя рэсурсы.

Калі ў вас ёсць памылкі, якія непапраўна пашкоджваюць дадзеныя і губляюць працу, гэта фатальна. Вы зрабілі няправільную рэч, страцілі свае дадзеныя і аднаўлення няма.

Ну, гэта не адзінае выкарыстанне "фатальнага" і "нефатальнага" ў праграмным кантэксце. Але гэта павінна даць вам уяўленне, як над гэтым думаць.