Hi,
I was looking at TaurusNeXusBrowser
and I noticed that it throws a lot of Exceptions, e.g.
1) when there is unresolved link in a NeXus group there is not possible to look at least at other fields/links of this group but one get the following error:
MainThread ERROR 2016-06-03 13:45:24,771 LogExceptHook: Unhandled exception: Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/PyMca/HDF5Widget.py", line 434, in rowCount return len(self.getProxyFromIndex(index)) File "/usr/lib/python2.7/dist-packages/PyMca/HDF5Widget.py", line 296, in __len__ return len(self.children) File "/usr/lib/python2.7/dist-packages/PyMca/HDF5Widget.py", line 195, in children items[i][0]) AttributeError: 'NoneType' object has no attribute '_posixPath'
2) on viewing a string field one gets an infinite sequence of errors:
MainThread ERROR 2016-06-03 13:47:29,635 LogExceptHook: Unhandled exception: Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/PyMca/NumpyArrayTableModel.py", line 52, in data return self._data(index, role) File "/usr/lib/python2.7/dist-packages/PyMca/NumpyArrayTableModel.py", line 65, in _data1D return MyQVariant(self._format % self._array[col]) TypeError: float argument required, not unicode
3) a preview error
MainThread ERROR 2016-06-03 11:58:16,882 LogExceptHook: Unhandled exception: Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/taurus/qt/qtgui/extra_nexus/taurusnexuswidget.py", line 114, in onHDF5WidgetSignal self.__currentPreview = self.neXusPreviewWidgetFactory(ddict) File "/usr/lib/python2.7/dist-packages/taurus/qt/qtgui/extra_nexus/taurusnexuswidget.py", line 132, in neXusPreviewWidgetFactory info = HDF5Info.getInfo(self.__nexusFile,ddict["name"]) File "/usr/lib/python2.7/dist-packages/PyMca/HDF5Info.py", line 418, in getInfo memberObject = hdf5File[node][member] File "/usr/lib/python2.7/dist-packages/h5py/_hl/group.py", line 153, in __getitem__ oid = h5o.open(self.id, self._e(name), lapl=self._lapl) File "h5o.pyx", line 173, in h5py.h5o.open (h5py/h5o.c:3405) KeyError: "unable to open object (Symbol table: Can't open object)"
Bests,
Jan
The error 2) (inifnite even loop) causes 100% usage of CPU which can be harmful for users.
Of course the infinite loop can be broken by clicking
but it may be not straightforward for users.