[IronPython] Serial Port Commn: unhandled ObjectDisposedException though exception handler provided

Sheetal.Pawar at lntinfotech.com Sheetal.Pawar at lntinfotech.com
Thu Nov 20 04:21:58 CET 2008

That close is kept just to ensure that the open call does not fail saying 
"port already open". It was just for testing purpose.

Yes ReadTo is not an asynch API. The program execution is blocked at 
ReadTo till the timeout occurs. But the problem occurs when I try to abort 
the read operation in between before the timeout.

Yes I had put a print in the exception handler. The problem is I get that 
print and get "Keyboard Interrupt" as the error message but still I am 
getting the ObjectDisposedException.

This is the message which i get when i try to print the error using 
except Exception, e:
    print "error   :  " + e.message:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Program Files\IronPython 2.0 Beta4\test.py", line 21, in 
C:\Program Files\IronPython 2.0 Beta4\test.py

Thanks & regards,
Sheetal Pawar

Michael Foord <fuzzyman at voidspace.org.uk> 
Sent by: users-bounces at lists.ironpython.com
11/19/2008 08:49 PM
Please respond to
Discussion of IronPython <users at lists.ironpython.com>

Discussion of IronPython <users at lists.ironpython.com>

Re: [IronPython] Serial Port Commn: unhandled ObjectDisposedException 
though exception handler provided

Well... I know nothing about these APIs and am guessing, but the 
traceback is in an AsyncCallback happening on another thread - so an 
exception handler in this thread isn't going to catch it.

Why do you close the port before opening it?

ReadTo doesn't look like an Async API [1]. You snipped the top line of 
the traceback which includes any mention of the line number where it was 
raised. Have you put a print in to confirm that your exception handling 
block is never entered?



Sheetal.Pawar at lntinfotech.com wrote:
> Hi,
> I am writing a serial port communication application using Iron 
> Python. Following is a sample code:
>          try:
>             BaudRate = 9600
>             DataBits = 8 
> #create a serial port instance for the desired port as specified
>             serialPort = System.IO.Ports.SerialPort( "COM1")
>             serialPort.BaudRate = BaudRate 
>             serialPort.DataBits = DataBits
> #open the port
>             serialPort.Close()
>             serialPort.Open()
>             serialPort.ReadTimeout = 30000
>             returnValue = serialPort.ReadTo( "xx" )
>         except:
>             print "error"
>             returnValue = ""
>         serialPort.Close()
>         serialPort.Dispose()
> Here if i abort my application using Cntrl + C on the iron python 
> console, then i get ObjectDisposedException unhandled though i have 
> provided an exception handler.
> I tried to abort the application while it was waiting for some data to 
> be read and the timeout had not occured. The application exits and I 
> get the exception after it exits.
> Stack Trace:
>    at Microsoft.Win32.Win32Native.SetEvent(SafeWaitHandle handle)
>    at System.Threading.EventWaitHandle.Set()
>    at System.IO.Ports.SerialStream.AsyncFSCallback(UInt32 errorCode, 
> UInt32 numBytes, NativeOverlapped* pOverlapped)
>    at 
> errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)
> Please let me know what can be the issue.
> Thanks & regards,
> Sheetal
> ______________________________________________________________________
> ------------------------------------------------------------------------
> _______________________________________________
> Users mailing list
> Users at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com


Users mailing list
Users at lists.ironpython.com


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20081120/13f38a74/attachment.html>

More information about the Ironpython-users mailing list