Skip to content

handle network interruptions / file not found errors #9

@caver456

Description

@caver456

This exception happens inside sartopo_python (inside the sync thread) and is handled by excepthook, but, it would be nice to show a message box. In general, it would be nice to show a message box for uncaught exceptions inside sartopo_python which doesn't know about Qt - only the things that call sartopo_python know about Qt. So, how to propagate the request for a message box?

2022-01-20 07:36:56,497 [sartopo_python:1910:CRITICAL] Uncaught exception in Thread-1 (_syncLoop):
Traceback (most recent call last):
  File "C:\Program Files (x86)\Python310-32\lib\site-packages\urllib3\connectionpool.py", line 699, in urlopen
    httplib_response = self._make_request(
  File "C:\Program Files (x86)\Python310-32\lib\site-packages\urllib3\connectionpool.py", line 445, in _make_request
    six.raise_from(e, None)
  File "<string>", line 3, in raise_from
  File "C:\Program Files (x86)\Python310-32\lib\site-packages\urllib3\connectionpool.py", line 440, in _make_request
    httplib_response = conn.getresponse()
  File "C:\Program Files (x86)\Python310-32\lib\http\client.py", line 1368, in getresponse
    response.begin()
  File "C:\Program Files (x86)\Python310-32\lib\http\client.py", line 317, in begin
    version, status, reason = self._read_status()
  File "C:\Program Files (x86)\Python310-32\lib\http\client.py", line 286, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Python310-32\lib\site-packages\requests\adapters.py", line 439, in send
    resp = conn.urlopen(
  File "C:\Program Files (x86)\Python310-32\lib\site-packages\urllib3\connectionpool.py", line 755, in urlopen
    retries = retries.increment(
  File "C:\Program Files (x86)\Python310-32\lib\site-packages\urllib3\util\retry.py", line 532, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "C:\Program Files (x86)\Python310-32\lib\site-packages\urllib3\packages\six.py", line 769, in reraise
    raise value.with_traceback(tb)
  File "C:\Program Files (x86)\Python310-32\lib\site-packages\urllib3\connectionpool.py", line 699, in urlopen
    httplib_response = self._make_request(
  File "C:\Program Files (x86)\Python310-32\lib\site-packages\urllib3\connectionpool.py", line 445, in _make_request
    six.raise_from(e, None)
  File "<string>", line 3, in raise_from
  File "C:\Program Files (x86)\Python310-32\lib\site-packages\urllib3\connectionpool.py", line 440, in _make_request
    httplib_response = conn.getresponse()
  File "C:\Program Files (x86)\Python310-32\lib\http\client.py", line 1368, in getresponse
    response.begin()
  File "C:\Program Files (x86)\Python310-32\lib\http\client.py", line 317, in begin
    version, status, reason = self._read_status()
  File "C:\Program Files (x86)\Python310-32\lib\http\client.py", line 286, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
urllib3.exceptions.ProtocolError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Python310-32\lib\threading.py", line 1009, in _bootstrap_inner
    self.run()
  File "C:\Program Files (x86)\Python310-32\lib\threading.py", line 946, in run
    self._target(*self._args, **self._kwargs)
  File "C:\Users\caver\Documents\GitHub\plans_console\sartopo_python.py", line 531, in _syncLoop
    self.doSync()
  File "C:\Users\caver\Documents\GitHub\plans_console\sartopo_python.py", line 352, in doSync
    rj=self.sendRequest('get','since/'+str(max(0,self.lastSuccessfulSyncTimestamp-500)),None,returnJson='ALL',timeout=self.syncTimeout)
  File "C:\Users\caver\Documents\GitHub\plans_console\sartopo_python.py", line 591, in sendRequest
    r=self.s.get(url,timeout=timeout)
  File "C:\Program Files (x86)\Python310-32\lib\site-packages\requests\sessions.py", line 555, in get
    return self.request('GET', url, **kwargs)
  File "C:\Program Files (x86)\Python310-32\lib\site-packages\requests\sessions.py", line 542, in request
    resp = self.send(prep, **send_kwargs)
  File "C:\Program Files (x86)\Python310-32\lib\site-packages\requests\sessions.py", line 655, in send
    r = adapter.send(request, **kwargs)
  File "C:\Program Files (x86)\Python310-32\lib\site-packages\requests\adapters.py", line 498, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions