所以我正在编写一些代码,我注意到除了语法、类型和其他编译时错误之外,C++ 不会抛出任何其他异常。所以我决定用一个非常简单的程序来测试一下:
#include<iostream>
int main() {
std::count<<5/0<<std::endl;
return 1
}
当我使用 g++ 编译它时,g++ 给了我一个警告,说我正在除以 0。但它仍然编译了代码。然后当我运行它时,它打印了一些非常大的任意数字。当我想知道的是,C++ 如何处理异常?整数除以 0 应该是一个非常简单的例子,说明何时应该抛出异常并且程序应该终止。
我是否必须将整个程序封装在一个巨大的 try 块中,然后捕获某些异常?我知道在 Python 中,当抛出异常时,程序将立即终止并打印出错误。C++ 做什么?甚至是否存在停止执行并终止程序的运行时异常?