读取格式不正确的文件时应引发哪种类型的std::异常? 只是想知道关于什么类型的STD:是否在C++中用错误的格式解析文件时抛出异常是合适的。我会说一个通用的std::logic\u错误,即使它不是逻辑而是数据。什么是错误的,你们认为它应该是什么?

读取格式不正确的文件时应引发哪种类型的std::异常? 只是想知道关于什么类型的STD:是否在C++中用错误的格式解析文件时抛出异常是合适的。我会说一个通用的std::logic\u错误,即使它不是逻辑而是数据。什么是错误的,你们认为它应该是什么?,c++,exception,std,C++,Exception,Std,考虑到这一点,我会说运行时错误最适合这种情况 std::运行时错误 它报告由于超出程序范围的事件而导致的错误,并且不容易预测 解析文件需要运行时资源(文件本身及其内容仅在运行时确定)。[0] 然而,我认为定义一个新的异常(例如:调用它file_error并从std::runtime_error派生它)是另一种合理的方法。通过这种方式,您可以扩展异常的功能,以便您的软件能够更轻松地处理发生的问题。(您可以向标准类能够拥有的异常类添加任何功能。) 可以将任何对象(来自任何类)作为异常抛出,但从std

考虑到这一点,我会说运行时错误最适合这种情况

std::运行时错误

它报告由于超出程序范围的事件而导致的错误,并且不容易预测

解析文件需要运行时资源(文件本身及其内容仅在运行时确定)。[0]

然而,我认为定义一个新的异常(例如:调用它file_error并从std::runtime_error派生它)是另一种合理的方法。通过这种方式,您可以扩展异常的功能,以便您的软件能够更轻松地处理发生的问题。(您可以向标准类能够拥有的异常类添加任何功能。)

可以将任何对象(来自任何类)作为异常抛出,但从std::exception派生自定义异常被认为是良好的做法,因为它非常适合STL和第三方的异常处理方法(在大多数情况下)

我个人更喜欢使用我自己的异常

另请阅读类似问题:

(0):在逻辑上将<强>文件系统< /强>(及其文件)连接到<强>操作系统< /强>的情况下,您可能会考虑使用SytSyError用于此情况,但解析它似乎不属于这一类。

< P>考虑,我认为RunTimeOrgRead适合这个情况最好。

std::运行时错误

它报告由于超出程序范围的事件而导致的错误,并且不容易预测

解析文件需要运行时资源(文件本身及其内容仅在运行时确定)。[0]

然而,我认为定义一个新的异常(例如:调用它file_error并从std::runtime_error派生它)是另一种合理的方法。通过这种方式,您可以扩展异常的功能,以便您的软件能够更轻松地处理发生的问题。(您可以向标准类能够拥有的异常类添加任何功能。)

可以将任何对象(来自任何类)作为异常抛出,但从std::exception派生自定义异常被认为是良好的做法,因为它非常适合STL和第三方的异常处理方法(在大多数情况下)

我个人更喜欢使用我自己的异常

另请阅读类似问题:

(0):在逻辑上将<强>文件系统< /强>(及其文件)连接到<强>操作系统< /强>的情况下,您可能会考虑使用SytSyError用于此情况,但解析它似乎不属于这一类。

< P>考虑,我认为RunTimeOrgRead适合这个情况最好。

std::运行时错误

它报告由于超出程序范围的事件而导致的错误,并且不容易预测

解析文件需要运行时资源(文件本身及其内容仅在运行时确定)。[0]

然而,我认为定义一个新的异常(例如:调用它file_error并从std::runtime_error派生它)是另一种合理的方法。通过这种方式,您可以扩展异常的功能,以便您的软件能够更轻松地处理发生的问题。(您可以向标准类能够拥有的异常类添加任何功能。)

可以将任何对象(来自任何类)作为异常抛出,但从std::exception派生自定义异常被认为是良好的做法,因为它非常适合STL和第三方的异常处理方法(在大多数情况下)

我个人更喜欢使用我自己的异常

另请阅读类似问题:

(0):在逻辑上将<强>文件系统< /强>(及其文件)连接到<强>操作系统< /强>的情况下,您可能会考虑使用SytSyError用于此情况,但解析它似乎不属于这一类。

< P>考虑,我认为RunTimeOrgRead适合这个情况最好。

std::运行时错误

它报告由于超出程序范围的事件而导致的错误,并且不容易预测

解析文件需要运行时资源(文件本身及其内容仅在运行时确定)。[0]

然而,我认为定义一个新的异常(例如:调用它file_error并从std::runtime_error派生它)是另一种合理的方法。通过这种方式,您可以扩展异常的功能,以便您的软件能够更轻松地处理发生的问题。(您可以向标准类能够拥有的异常类添加任何功能。)

可以将任何对象(来自任何类)作为异常抛出,但从std::exception派生自定义异常被认为是良好的做法,因为它非常适合STL和第三方的异常处理方法(在大多数情况下)

我个人更喜欢使用我自己的异常

另请阅读类似问题:


(0):在逻辑上将<强>文件系统< /强>(及其文件)连接到<强>操作系统< /强>的情况下,您可能会考虑使用SytSyError用于此情况,但解析它似乎不属于这一类。

< P>不限于抛出STD异常。任何类都可以作为异常抛出。在大型应用程序中,您通常会发现整个类,它们的唯一目的是将它们的一个实例作为异常抛出,因此,当捕获到异常时,异常处理程序有更多的信息和上下文可供其决定下一个操作过程(当然,这是准备好的,并放置到类实例中)