То, что вы должны делать, сильно зависит от контекста.
Если такой код был помещен в обработчик, например, для пункта меню File | Open, когда вы открываете файл изображения, то это кажется приемлемым.
С другой стороны, если он был помещен глубоко в некоторые внутренние части скинов для вашего приложения, то, скорее всего, это плохо.Во-первых, вы не знаете, когда это будет выполнено и подходит ли тогда окно сообщения.Вы не знаете, как часто это будет выполняться (если это одно из 100 изображений, то показ 100 ящиков сообщений не годится ...).В фатальном случае это может привести к неработающей петле, если каким-либо образом показ окна сообщения (или отклонение его пользователем) приведет к повторному выполнению этого кода.
Поэтому, если вы не предоставите контекст, трудно предоставить разумный и полезныйответ.
Также обратите внимание, что, если вы не знаете подробности load_from_file
или его гарантий для содержимого image_loading_exception
, показывающего what()
пользователю, не является хорошей идеей.Эта строка, скорее всего, будет технической информацией (или может быть) бесполезной и непонятной для пользователя.(С другой стороны, если это просто инструментальное приложение для вас или коллег-программистов, тогда оно может быть приемлемым - опять же контекст!)
Также, если вы не знаете, image_loading_exception
сделает это в его what()
, вы могли бырассмотрите возможность регистрации типичных случаев (отсутствующий файл, отказ в доступе, пустой файл, поврежденный файл, ...) и показа выделенного («ориентированного на пользователя») сообщения, при котором возможно, что what()
будет скрыто по умолчанию, или где-то занесено в журнал.