message to stderr and exits. If you override this in a subclass, it should not return -- it should either exit or raise an exception. )