История изменений
Исправление Kroz, (текущая версия) :
Ну, что будет если я еще покодю - посмотрим. Но пока я в корне не согласен.
Что полезного Вы можете сделать по экзепшену «не могу выделить память»?
1) Показать нормальное user-friendly сообщение вместо того, чтобы просто вывалиться как при сегфолте.
2) Выгрузить какие-то данные для освобождения памяти и продолжения нормальной работы, если это возможно в программе.
А использовать его для «не могу открыть файл» - по меньшей мере глупо.
Глупо каждый fopen и другие 100500 функций оборачивать в что-то типа if (result==-1) ... ;
если любая ошибка должна привести просто к выходу из функции. А еще интересней, если при выходе из функции нужно не просто return, а еще какой-то delete или fclose. А если это еще происходит в какой-то f5(), вызванной из f4(), вызванной из f3()..., и вышеупомянутая ошибка должна привести к завершению всей цепочки вплоть до f1(), то if (result==-1){...} становится самой частоиспользуемой конструкцией и не сильно сказывается на читаемости кода. Ну и т. п.
Исправление Kroz, :
Ну, что будет если я еще покодю - посмотрим. Но пока я в корне не согласен.
Что полезного Вы можете сделать по экзепшену «не могу выделить память»?
1) Показать нормальное user-friendly сообщение вместо того, чтобы просто вывалиться как при сегфолте.
2) Выгрузить какие-то данные для освобождения памяти и продолжения нормальной работы, если это возможно в программе.
А использовать его для «не могу открыть файл» - по меньшей мере глупо.
Глупо каждый fopen и другие 100500 функций оборачивать в что-то типа if (result==-1) ... ;
если любая ошибка должна привести просто к выходу из функции. А еще лучше если при выходе из функции нужно не просто return, а еще какой-то delete или fclose. А если это еще происходит в какой-то f5(), вызванной из f4(), вызванной из f3()..., и вышеупомянутая ошибка должна привести к завершению всей цепочки вплоть до f1(), то if (result==-1){...} становится самой частоиспользуемой конструкцией и не сильно сказывается на читаемости кода. Ну и т. п.
Исправление Kroz, :
Ну, что будет если я еще покодю - посмотрим. Но пока я в корне не согласен.
Что полезного Вы можете сделать по экзепшену «не могу выделить память»?
1) Показать нормальное user-friendly сообщение вместо того, чтобы просто вывалиться как при сегфолте.
2) Выгрузить какие-то данные для освобождения памяти и продолжения нормальной работы, если это заложено в моей программе.
А использовать его для «не могу открыть файл» - по меньшей мере глупо.
Глупо каждый fopen и другие 100500 функций оборачивать в что-то типа if (result==-1) ... ;
если любая ошибка должна привести просто к выходу из функции. А еще лучше если при выходе из функции нужно не просто return, а еще какой-то delete или fclose. А если это еще происходит в какой-то f5(), вызванной из f4(), вызванной из f3()..., и вышеупомянутая ошибка должна привести к завершению всей цепочки вплоть до f1(), то if (result==-1){...} становится самой частоиспользуемой конструкцией и не сильно сказывается на читаемости кода. Ну и т. п.
Исправление Kroz, :
Ну, что будет если я еще покодю - посмотрим. Но пока я в корне не согласен.
Что полезного Вы можете сделать по экзепшену «не могу выделить память»?
1) Показать нормальное user-friendly сообщение вместо того, чтобы просто вывалиться как при сегфолте.
2) Выгрузить какие-то данные для освобождения памяти и продолжения нормаьной работы, если это заложено в моей программе.
А использовать его для «не могу открыть файл» - по меньшей мере глупо.
Глупо каждый fopen и другие 100500 функций оборачивать в что-то типа if (result==-1) ... ;
если любая ошибка должна привести просто к выходу из функции. А еще лучше если при выходе из функции нужно не просто return, а еще какой-то delete или fclose. А если это еще происходит в какой-то f5(), вызванной из f4(), вызванной из f3()..., и вышеупомянутая ошибка должна привести к завершению всей цепочки вплоть до f1(), то if (result==-1){...} становится самой частоиспользуемой конструкцией и не сильно сказывается на читаемости кода. Ну и т. п.
Исправление Kroz, :
Ну, что будет если я еще покодю - посмотрим. Но пока я в корне не согласен.
Что полезного Вы можете сделать по экзепшену «не могу выделить память»?
1) Показать нормальное user-friendly сообщение вместо того, чтобы просто вывалиться как при сегфолте.
2) Выгрузить какие-то данные из памяти, если это заложено в моей программе.
А использовать его для «не могу открыть файл» - по меньшей мере глупо.
Глупо каждый fopen и другие 100500 функций оборачивать в что-то типа if (result==-1) ... ;
если любая ошибка должна привести просто к выходу из функции. А еще лучше если при выходе из функции нужно не просто return, а еще какой-то delete или fclose. А если это еще происходит в какой-то f5(), вызванной из f4(), вызванной из f3()..., и вышеупомянутая ошибка должна привести к завершению всей цепочки вплоть до f1(), то if (result==-1){...} становится самой частоиспользуемой конструкцией и не сильно сказывается на читаемости кода. Ну и т. п.
Исходная версия Kroz, :
Ну, что будет если я еще покодю - посмотрим. Но пока я в корне не согласен.
Что полезного Вы можете сделать по экзепшену «не могу выделить память»?
1) Показать нормальное user-friendly сообщение
2) Выгрузить какие-то данные из памяти, если это заложено в моей программе.
А использовать его для «не могу открыть файл» - по меньшей мере глупо.
Глупо каждый fopen и другие 100500 функций оборачивать в что-то типа if (result==-1) ... ;
если любая ошибка должна привести просто к выходу из функции. А еще лучше если при выходе из функции нужно не просто return, а еще какой-то delete или fclose. А если это еще происходит в какой-то f5(), вызванной из f4(), вызванной из f3()..., и вышеупомянутая ошибка должна привести к завершению всей цепочки вплоть до f1(), то if (result==-1){...} становится самой частоиспользуемой конструкцией и не сильно сказывается на читаемости кода. Ну и т. п.