Ciddi və qeyri-ciddi bir səhv arasındakı fərq nədir?


cavab 1:

Bu bir dövr kimi səslənir, amma: ciddi səhvlər ciddidir. Çalışdığınız hər şey davam edə bilməz və indi də ölmüşdür.

Qeyri-ciddi bir səhv pis bir şeyin baş verməsi deməkdir, ancaq bərpa edib davam edə bildik.

Bir avtomobili bənzətmə olaraq istifadə edək:

  • Düz şinlər ölümcül səhv deyil. Problemi həll etməyincə sürə bilməzsiniz, ancaq ehtiyat təkərini taxıb şinləri düzəltməyinizə və ya dəyişdirməyinizə qədər davam edə bilərsiniz. Baş vuruşlar ciddi səhvlərdir. Avtomobiliniz qırıldı, digər avtomobil qırıldı və heç kim yenidən maşın sürmür. Və bir və ya daha çox nəqliyyat vasitəsi işğalçısı öldürülə bilər. Əlbətdə ki, ölümcül.

Beləliklə ... yenidən proqramlaşdırmaya qayıt.

Malloc-a zəng etmək və NULL-u geri qaytarmaq mütləq ölümcül deyil. Yaddaş ayıra bilmədiniz, amma yenə də davam edə bilərsiniz. Bəlkə digər mənbələri azad edə bilərsiniz.

Məlumatları düzəlməz şəkildə pozan və işinizi itirən bir səhviniz varsa, ölümcül olur. Səhv bir şey etdiniz, məlumatlarınızı itirdiniz və bərpa yoxdur.

Yaxşı, bunlar "ölümcül" və "ölümcül olmayan" bir proqramlaşdırma kontekstində yeganə istifadə deyil. Ancaq bu barədə düşünmək barədə bir fikir verməlidir.