Contenuto principale

La traduzione di questa pagina non è aggiornata. Fai clic qui per vedere l'ultima versione in inglese.

Difetti relativi alle eccezioni in C++

Difetti relativi alle eccezioni in C++ e loro gestione, come eccezioni non gestite in una funzione noexcept o eccezioni impreviste generate da un'istruzione throw

Questi difetti sono relativi alla gestione delle eccezioni in C++. I difetti includono:

  • Eccezione non gestita generata da una funzione noexcept

  • Eccezione imprevista che si verifica durante la costruzione dell'oggetto argomento di un'istruzione throw

  • Istruzioni catch che intercettano le eccezioni per valore anziché per riferimento

  • Istruzioni catch che nascondono dichiarazioni catch successive.

Risultati di Polyspace

Exception caught by valuecatch statement accepts an object by value
Exception handler hidden by previous handlercatch statement is not reached because of an earlier catch statement for the same exception
Noexcept function exits with exceptionFunctions specified as noexcept, noexcept(true) or noexcept(<true condition>) exits with an exception, which causes abnormal termination of program execution, leading to resource leak and security vulnerability
Throw argument raises unexpected exceptionThe argument expression in a throw statement raises unexpected exceptions, leading to resource leaks and security vulnerabilities
Uncaught exceptionAn exception is raised from a function but it is not caught and handled (Da R2022b)
Throw argument expression calls newThe argument expression in a throw statement allocates memory by calling new, which can result in abrupt termination of the program and resource leaks (Da R2023b)

Argomenti

  • Bug Finder Defect Groups

    The Bug Finder defect checkers are classified into groups such as data flow, concurrency, numerical, and so on.