Catching unhandled exceptions

In Windows, I have some threads. Two of them terminate with exception (null pointer dereference, for example). I have SetUnhandledExceptionFilter(...) which starts dump generating on the first exception. On the second exception, the whole program dies. Is there any way to handle such situations? All critical errors except first shall be ignored.

pseudo code:

  void job()
  {
   ... //doing something wrong
   *nullptr = 0xbad;
  }

  int main() {
    SetUnhandledExceptionFilter(getDump);
    std::thread t1(job), t2(job); 
    ...
  }

Catching unhandled exceptions