例外を上に投げる

「...」で受け取っても上に投げれる、と。

#include <iostream>
using namespace std;

void foo() {
  throw "error";
}

void bar() {
  try {
    foo();
  } catch (...) {
    cout << "error at foo()" << endl;
    throw;
  }
}

int main() {
  try {
    bar();
  } catch (char *e) {
    cout << e << endl;
  }
}


error at foo()
error