AFAIK, molti progetti C ++ non consentono eccezioni e negano loro le linee guida sulla codifica. Ho molti motivi, ad esempio, l'eccezione è difficile da gestire correttamente se il tuo binario deve essere compilato da compilatori separati e diversi.
Ma non mi convince del tutto, ci sono molti progetti che usano solo un compilatore. Rispetto al C ++, le eccezioni sono molto utilizzate in C # e Java e la ragione può essere che l'eccezione non porta abbastanza benefici.
Un punto è la debugabilità nella pratica. L'eccezione non può ottenere lo stack di chiamate nel codice C ++, ma in C # e Java è possibile ottenere lo stack di chiamate dall'eccezione, è significativo e facilita il debug. No-callstack non è colpa dell'eccezione, è la differenza linguistica, ma influisce sull'utilizzo delle eccezioni.
Quindi qual è la ragione per cui le eccezioni sono disapprovate nei programmi c ++?