最近在学C++,发现try catch不能够捕获到除数为零的异常,需要自己判断后,再通过throw抛出,catch才能够捕获到。所以想问一下,有没有办法可以不用自己抛出。
比如这个不用自己抛出也能捕获到异常:
- try
- {
- char* p = new char[0x7fffffff]; //抛出异常 能够自己抛出异常
- }
- catch (exception &e)
- {
- cout << e.what() << endl;
- }
不能够自己抛出异常:
- int x = 10, y = 0;
- int result;
- try
- {
- result = x / y;
- }
- catch (...)
- {
- cout << "未知异常" << endl;
- }
有什么办法可以解决这个问题吗?