doen't catches the exceptions in single-thread