
现在我开始怀疑:抛出异常是不是很糟糕?对于像我这样的学生来说,使用异常作为一般事情来学习编程是错误的吗? (当我抛出异常时,我抓住他们在另一个级别的代码来对待他们,大多数时候).我有一个代码示例,我想知道我该怎么办
int x;cout << "Type an integer: ";cin >> x;
在那里输入的不是整数的任何东西都会触发一个异常,对吧?这个例外应该在那里处理.但是当我在程序中其他地方使用的类中有可能的异常时,应该使这个方法抛出一个异常,所以我可以把它当作任何地方来处理它,或者当它有任何问题时,它会返回一个标准值?
例外总是好的,总是坏的,还是在“特殊”情况下使用的东西?为什么?
解决方法 默认情况下,C iostreams类不使用异常处理.通常情况下,应该会发生错误的异常,但这种错误是“异常”和“不频繁”(例如磁盘发生故障,网络关闭等).对于您期望的错误条件(例如用户提供无效输入),您应该不应该使用异常处理,除非需要处理这种情况的逻辑远远超出了检测到这种情况的逻辑,其中使用异常的情况是要走的路.使用异常没有什么问题,并且使用例外,他们是值得的绝对是好的…只是避免使用它们,如果…其他工作正常.至于为什么:
>例外通常提供一种简单,优雅的处理意外错误的方式,但是:>根据编译器和平台的异常传播可能比普通的控制流慢,所以如果你可以在本地处理这种情况,那么这至少会一样快…而且你特别不想放慢速度常见的,预期的情况(如无效输入).也:>异常需要更多的类型信息存在,并且还需要与抛出或捕获异常无关的代码为“异常安全”,这就是为什么某些对象异常.
总结以上是内存溢出为你收集整理的c – 抛出或不抛出异常?全部内容,希望文章能够帮你解决c – 抛出或不抛出异常?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)