exceptions must be RangerException