我正在阅读一本关于 C++ 的书,并且在关于错误的章节中它有这个程序(我遗漏了一些小事情,但主要是这个):
int main()
try {
// our program (<- this comment is literally from the book)
return 0;
}
catch(exception& e) {
cerr << "error: " << e.what() << '\n';
return 1;
}
catch(...) {
cerr << "Unknown exception\n";
return 2;
}
这个编译但当然它什么也没做所以我仍然想知道
- 为什么没有一组花括号将 main() 之后的所有内容括起来?这些块或者我应该称它们为“流行语”(哈!)是否是 main() 的一部分?
- 如果它们是函数,为什么在 catch(无论如何)之前没有“int”?
- 如果它们不是函数,它们是什么?
- re catch(...),我从未见过这样使用省略号。我可以在任何地方使用省略号来表示“任何东西”吗?