title: Handle exception in pyserial during disconnection
body: <p>I have code which read data from serial port. </p>
  
  <pre><code>try: 
    dataIn = self.port.read(100) 
  except serial.SerialException: 
    #do some work
    return None
  </code></pre>
  
  <p>If I disconnect device I catch exception which I can't handle someway.</p>
  
  <pre><code>Traceback (most recent call last):
    File "/usr/local/lib/python3.4/dist-packages/serial/serialposix.py", line 475, in read
      raise SerialException('device reports readiness to read but returned no data (device disconnected or multiple access on port?)')
  serial.serialutil.SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
  
  During handling of the above exception, another exception occurred:
  
  Traceback (most recent call last):
    File "/home/katkov/work/obd2rds/obd2rds/testing/python/main.py", line 48, in &lt;module&gt;
      main()
    File "/home/katkov/work/obd2rds/obd2rds/testing/python/main.py", line 41, in main
      dataIn = serPort.read()
    File "/home/katkov/work/obd2rds/obd2rds/testing/python/uart.py", line 55, in read
      dataIn = self.port.read(100)
    File "/usr/local/lib/python3.4/dist-packages/serial/serialposix.py", line 480, in read
      if e[0] != errno.EAGAIN:
  TypeError: 'SerialException' object does not support indexing
  </code></pre>
  
  <p>How can I catch exception that it is processed properly.
  Thanks!</p>