В С++ исключения оказались НЕОБХОДИМЫ по двум причинам: перегрузка операций (запрет дополнительных параметров), и конструкторы (не возвращают значение).
Скорее всего, в больших корпоративных системах они пригодятся. Но обработку исключений НУЖНО ПРОЕКТИРОВАТЬ, а никто этим специально не занимается. Поэтому исключения выглядят как заплата на коде.
Если исключения сделатьобязательнойконструкцией с привязкой к процедуре-функции, то это ЗАСТАВИТ думать, что с этим делать. Это - правильный подход.