new macro YAS_THROW_EXCEPTION(type, msg) added