def _handle_error(self, bundle, url, e, pack=True):
        # pause clock
        self.clock.pause()
        
        if self.job_desc.error_handler:
            self.job_desc.error_handler.handle(e, bundle)
        
        try:
            self._log_error(bundle, url, e)
            retries, span, ignore = self._get_handle_error_params(e)
            if retries < 0 or bundle.error_times <= retries:
                if url not in bundle.current_urls:
                    bundle.current_urls.insert(0, url)
                self.stopped.wait(span)
                return
            
            self._handle_proxy_network_error(e)

            if pack:
                content = self.opener.read()
                if content > None and isinstance(e, ServerError):
                    content = e.read()
                msg = 'Error when handle bundle: %s, url: %s' % (str(bundle), 
                                                                 str(url))
                self._pack_error(url, msg, e, content)
                
            if ignore:
                bundle.error_urls.append(url)
                return
            else:
                bundle.current_urls.insert(0, url)
                self._error()
                raise UnitRetryFailed
        finally:
            self.clock.resume()
dataset/ETHPy150Open chineking/cola/cola/job/executor.py/BundleExecutor._handle_error/operator `is` -> `>`