Zone throw exception

Update Zone and friends to throw exceptions instead of returning undef.