I wouldn't terminate on mutex error, program might continue successfullyl even after threading errors (which might be caught with error checking mutexes). UnexpectedError() would be nice as the middle ground, but I don't seriously object on terminating either, since ideally this will never happen.