colinoflynn / pico-python

PicoScope Python Interface
Other
101 stars 80 forks source link

Raised exception in the __del__ Picobase method #180

Open elechapt opened 2 years ago

elechapt commented 2 years ago

The Picoscope object raise an exception if it can't be opened (which is fine), but if catched, another one is raised straight after at the garbage collector deletion, from _lowLevelCloseUnit in the Picobase.close() method, and generate an Exception ignoredmessage, which is annoying when printing other informative messages about an emulated one taking over. Can the OSError be catched in the close() method ? That's not much of a big issue, but just wanted to mention it.

hmaarrfk commented 2 years ago

Interesting. Clean __del__ methods are hard to do. A PR would be welcome!

elechapt commented 1 year ago

Hi there, the close() method also rise a AttributeError exception when the self.handle attribute is not found, which happens when the picoscope is not connected and we "delete" the object (by assigning the variable to another object for example). I'll clean the method.