diff options
Diffstat (limited to 'pyserial')
-rw-r--r-- | pyserial/serial/serialjava.py | 9 | ||||
-rw-r--r-- | pyserial/serial/serialposix.py | 8 | ||||
-rw-r--r-- | pyserial/serial/serialwin32.py | 6 |
3 files changed, 15 insertions, 8 deletions
diff --git a/pyserial/serial/serialjava.py b/pyserial/serial/serialjava.py index d9e9714..9863de3 100644 --- a/pyserial/serial/serialjava.py +++ b/pyserial/serial/serialjava.py @@ -8,7 +8,7 @@ import sys, os, string, javax.comm import serialutil -VERSION = string.split("$Revision: 1.4 $")[1] #extract CVS version +VERSION = string.split("$Revision: 1.5 $")[1] #extract CVS version PARITY_NONE, PARITY_EVEN, PARITY_ODD, PARITY_MARK, PARITY_SPACE = (0,1,2,3,4) STOPBITS_ONE, STOPBITS_TWO, STOPBITS_ONE_HALVE = (1, 2, 3) @@ -46,8 +46,11 @@ class Serial(serialutil.FileLike): else: portId = device(port) #numbers are transformed to a comportid obj self.portstr = portId.getName() - - self.sPort = portId.open("python serial module", 10) + try: + self.sPort = portId.open("python serial module", 10) + except Exception, msg: + self.sPort = None + raise serialutil.SerialException, "could not open port: %s" % msg self.instream = self.sPort.getInputStream() self.outstream = self.sPort.getOutputStream() self.sPort.enableReceiveTimeout(30) diff --git a/pyserial/serial/serialposix.py b/pyserial/serial/serialposix.py index ddedcac..faa4af9 100644 --- a/pyserial/serial/serialposix.py +++ b/pyserial/serial/serialposix.py @@ -12,7 +12,7 @@ import sys, os, fcntl, termios, struct, string, select import serialutil -VERSION = string.split("$Revision: 1.5 $")[1] #extract CVS version +VERSION = string.split("$Revision: 1.6 $")[1] #extract CVS version PARITY_NONE, PARITY_EVEN, PARITY_ODD = range(3) STOPBITS_ONE, STOPBITS_TWO = (1, 2) @@ -166,7 +166,11 @@ class Serial(serialutil.FileLike): self.portstr = port else: self.portstr = device(port) #numbers are transformed to a os dependant string - self.fd = os.open(self.portstr, os.O_RDWR|os.O_NOCTTY|os.O_NONBLOCK) + try: + self.fd = os.open(self.portstr, os.O_RDWR|os.O_NOCTTY|os.O_NONBLOCK) + except Exception, msg: + self.fd = None + raise serialutil.SerialException, "could not open port: %s" % msg fcntl.fcntl(self.fd, FCNTL.F_SETFL, 0) #set blocking self.__tcgetattr() #read current settings #set up raw mode / no echo / binary diff --git a/pyserial/serial/serialwin32.py b/pyserial/serial/serialwin32.py index 72b353e..4a11980 100644 --- a/pyserial/serial/serialwin32.py +++ b/pyserial/serial/serialwin32.py @@ -11,7 +11,7 @@ import win32con # constants. import sys, string import serialutil -VERSION = string.split("$Revision: 1.5 $")[1] #extract CVS version +VERSION = string.split("$Revision: 1.6 $")[1] #extract CVS version PARITY_NONE, PARITY_EVEN, PARITY_ODD = range(3) STOPBITS_ONE, STOPBITS_TWO = (1, 2) @@ -51,9 +51,9 @@ class Serial(serialutil.FileLike): win32con.OPEN_EXISTING, win32con.FILE_ATTRIBUTE_NORMAL | win32con.FILE_FLAG_OVERLAPPED, None) - except: + except Exception, msg: self.hComPort = None #'cause __del__ is called anyway - raise serialutil.SerialException, "could not open port" + raise serialutil.SerialException, "could not open port: %s" % msg # Setup a 4k buffer win32file.SetupComm(self.hComPort, 4096, 4096) |