exception causes must derive from BaseException