LINUX.ORG.RU

История изменений

Исправление 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){...} становится самой частоиспользуемой конструкцией и не сильно сказывается на читаемости кода. Ну и т. п.