Я работаю над книгой на С++, а в главе об ошибках у нее есть эта программа (я оставил несколько второстепенных вещей, но в основном это):
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()? Являются ли блоки или я называю их "фразами" (ha!) Частью main() или нет?
- Если они являются функциями, как там нет "int" перед уловом (что угодно)?
- Если они не являются функциями, каковы они?
- re catch (...), я никогда не видел, чтобы эллипсы использовались именно так. Могу ли я использовать эллипсы где угодно, чтобы означать "что угодно"?