c++ - 处理文件和图像加载异常的最佳方式是什么?

标签 c++ exception file-io exception-handling error-handling

除非没有解决方案或替代方案,例如无法打开图像,我通常会这样做:

try
{
    img.load_from_file("my_image.png");
}
catch( const image_loading_exception& e )
{
    /* Could Not Load Image: 'my_image.png' ! */
    string err = "Could Not Load Image: " + e.what() + " !"; // 
    pro::message_box::show( err );
}

现在,这真的是很好的错误处理吗?我应该做一些更具描述性的事情,还是尝试解决这个问题。显示错误消息框是我在处理图像或文件加载失败时唯一能想到的。你们是做什么的?

最佳答案

这取决于要求是什么:

  • 如果程序因为缺少关键图像而无法继续,那么它应该停止执行并通知用户发生了什么
  • 如果用户输入了错误的参数(例如,错误的文件名),应该通知他们并要求他们重新输入
  • 如果它是根本不重要的东西,那么只记录一条消息而不通知用户

关于c++ - 处理文件和图像加载异常的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9783439/

相关文章:

c++ - 如何查看 C++ boolean 值中的数字移动?

c++ - 如何从H264中的ffmpeg读取sei未注册的用户数据?

java - 第二次解析 XML 文件时出现 XStream ConversionException

java - 自定义 RuntimeException 未捕获 java.lang.ArrayIndexOutOfBoundsException

c - OS X 上的 aio_read from file 错误

c++ - Qt 有 gsl::span 的模拟吗?

c++ - 增量后重载中的冗余?

c++ - 为什么程序员要同时使用 std::bad_alloc 和 std::exception。仅 std::exception 是不够的

c# - 如何检查文件是否在 C# 中使用?

java - 创建并读取UTF-8文件夹java