Как завершить программу C++ после ошибки?

Я рефакторинг старого кода, и одна из вещей, которые я хотел бы рассмотреть, это способ обработки ошибок. Я хорошо осведомлен об исключениях и о том, как они работают, но я не совсем уверен, что они являются лучшим решением для ситуаций, с которыми я пытаюсь справиться.

В этом коде, если что-то не подтверждается, нет причин или преимуществ раскручивать стек. Были сделаны. Нет смысла пытаться спасти корабль, потому что это неинтерактивный код, который работает параллельно через Sun Grid Engine. Пользователь не может вмешиваться. Более того, эти сбои проверки на самом деле не являются исключительными обстоятельствами. Их ждут.

Итак, как мне лучше с этим справиться? Одна вещь, которую я не уверен, что хочу, - это точка выхода в каждом методе класса, который может дать сбой. Это кажется непоправимым. Я ошибся? Можно ли просто вызывать exit()или abort()в точке сбоя в подобных кодах? Или я должен выбросить исключение до какого-то общего оператора catch в main? В чем преимущество?

9
задан Fadecomic 21 May 2012 в 03:17
поделиться