当前位置:  开发笔记 > 编程语言 > 正文

C++中Java的IllegalArgumentException的等价物

如何解决《C++中Java的IllegalArgumentException的等价物》经验,为你挑选了1个好方法。

在Java中,如果方法的输入参数无效,我们可以抛出一个IllegalArgumentException(类型为RuntimeException).在C++中,没有检查和未检查异常的概念.标准C++中是否有类似的异常可用于指示运行时异常?或者是否有一种不符合标准的共同风格,但每个人都在实践中遵循这样的情况?

或者,我应该创建自己的自定义异常并抛出它吗?



1> Ferdinand Be..:

与Java不同,C++没有"标准框架",只有一个小的(和可选的)标准库.此外,C++程序员在是否使用异常有不同的意见.

因此,您会找到不同人的不同建议:有些人喜欢使用标准库中的异常类型,有些库(例如Poco)使用自定义异常层次结构(从std :: exception派生),而其他库则根本不使用异常(例如Qt).

如果您想坚持使用标准库,则存在一种专门的异常类型:( invalid_argumentextends logic_error).

#include 

// ...
throw std::invalid_argument("...");

供参考:以下是在以下位置定义(和记录)的标准异常类型的概述stdexcept:

exception
    logic_error
        domain_error
        invalid_argument
        length_error
        out_of_range
    runtime_error
        range_error
        overflow_error
        underflow_error

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有