抓住

catch 關鍵字引入了一個異常處理程式,即當丟擲相容型別的異常時將向其傳輸控制的塊。catch 關鍵字之後是帶括號的異常宣告,其形式類似於函式引數宣告:引數名稱可以省略,省略號 ... 是允許的,它匹配任何型別。異常處理程式僅在其宣告與異常型別相容時才處理異常。有關詳細資訊,請參閱捕獲異常

try {
    std::vector<int> v(N);
    // do something
} catch (const std::bad_alloc&) {
    std::cout << "failed to allocate memory for vector!" << std::endl;
} catch (const std::runtime_error& e) {
    std::cout << "runtime error: " << e.what() << std::endl;
} catch (...) {
    std::cout << "unexpected exception!" << std::endl;
    throw;
}