捕获int的异常除以0

捕获int的异常除以0

本文介绍了捕获int的异常除以0的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

最近我正在尝试使用C ++编写的简单异常程序,如下所示:-

Recently i was trying a simple exception program in C++ which goes like this:-

#include <iostream>
#include <exception>
#include <stdexcept>
using namespace std;
int main()
{
    int x=5, y=0;
    try
    {
       int z=x/y;
       cout<<"z="<<z;
    }
    catch (exception& e)
    {
       cout<<"exception caught: "<<e.what();
    }
    return 0;
}

为什么这里没有异常?代码有什么问题?
我也想知道为什么需要& 来捕获异常?

Why is no exception thrown here ? What is wrong in the code ?Also I would like to know why the & is required to catch exception ?

推荐答案

在标准C ++中,除以零的任何整数都不是例外。

Any integer when divided by zero is not an exception in standard C++.

C ++ 5.6节指出:

The section 5.6 of C++ states:

您可能还会发现阅读以下内容很有趣:

You may also find it interesting to read this:

这篇关于捕获int的异常除以0的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-03 04:30