Sari la conținut
Modulul 6

Manipularea erorilor și siguranță

Scrieți cod C++ robust cu gestionarea corectă a erorilor - excepții, garanții de siguranță RAII, tipuri de sume și modele de programare defensive.

Strategii de excepții și erori

  1. Excepții: arunca, încearcă, prinde

    Înțelegeți mecanismul de excepție C++ — derularea stivei, ierarhia excepțiilor standard, excepțiile personalizate și când să preferați excepțiile decât codurile de eroare.

  2. Excepție garanții de siguranță

    Aflați cele trei niveluri de siguranță pentru excepții — de bază, puternică și fără aruncare — și cum le oferă RAII și copierea și schimbarea.

  3. Strategii de tratare a erorilor: alegerea abordării corecte

    Comparați excepțiile, codurile de eroare și std::expected — aflați când fiecare abordare este adecvată și cum să gestionați erorile din constructori, destructori și coduri cu mai multe fire.

Tip Securitate și programare defensivă

  1. std::opțional, std::variant și std::expected

    Utilizați tipurile de sumă C++17/23 pentru a reprezenta valori nullabile, uniuni sigure de tip și returnări de valoare sau eroare - eliminând clase întregi de erori în timpul compilării.

  2. Tip Siguranță, aserțiuni și contracte

    Utilizați sistemul de tip C++ pentru a preveni erorile în timpul compilării - enumerări puternice, modelul newtype, static_assert, aserțiunile de rulare și caracteristica contractelor viitoare.

  3. Înțelegerea și evitarea comportamentului nedefinit

    Aflați ce este comportamentul nedefinit, de ce există, cum îl exploatează compilatorii pentru optimizare și cum să îl detectați cu dezinfectante și avertismente ale compilatorului.