Kāda ir atšķirība starp fatālu kļūdu un fatālu kļūdu?


Atbilde 1:

Tas izklausīsies apļveida, bet: fatālas kļūdas ir fatālas. Tāpat kā iekšā, tas, ko jūs mēģinājāt darīt, nevar turpināties un tagad ir miris. Tas ir tas, ko nozīmē fatāls.

Ne fatāla kļūda nozīmē, ka notika kaut kas slikts, bet mēs varētu atgūties un turpināt.

Izmantosim automašīnu kā analogu:

  • Riepas ar riepu ir nevis fatālas kļūdas. Jūs nevarat braukt, kamēr nav salabots, bet varat ievietot rezerves daļu un turpināt darbu, līdz riepa ir ielāpēta vai nomainīta. Sadursmes ar galvu ir liktenīgas kļūdas. Jūsu automašīna ir sagrauta, otra automašīna ir sagrauta, un neviens vairs nebrauks. Un, iespējams, tika nogalināts viens vai vairāki transportlīdzekļu pasažieri. Skaidrs, ka liktenīgs.

Tātad… atpakaļ pie programmēšanas.

Ja jūs zvanāt uz malloc un tas atgriežas NULL, tas nebūt nav letāls. Jūs nevarējāt atvēlēt atmiņu, taču, iespējams, varēsit turpināt. Varbūt jūs varētu atbrīvot dažus citus resursus.

Ja jums ir kļūda, kas neatgriezeniski sabojā datus un zaudē darbu, tas ir fatāls. Jūs izdarījāt nepareizi, pazaudējāt datus, un tā nav atkopšana.

Tagad programmēšanas kontekstā tie nav vienīgie “fatālo” un “ne fatālo” lietojumi. Bet tam vajadzētu dot jums ideju, kā par to domāt.