Les exceptions C++ sont maintenant récupérées par SWIG et converties en exceptions “python”:
Imaginons que j'ai merdouillé cont2 (je crée une ligne avec le point 10 qui n'existe pas):
>>>
>>> import cont2
** FATAL ERROR: Cannot find Point #10 when linking Line #1 to its components
** [file=e:\dev\oo_meta\mtgeo\mtGeoGeoObject.inl line 196]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "E:\dev\oo_meta\cont2.py", line 41, in <module>
curveset.copy(Line(1, 10, 2))
File "E:\dev\oo_meta\wrap\mtGeo.py", line 1035, in copy
return _mtGeo.NumberedObjectSetCurve_copy(*args)
RuntimeError: Runtime Error
>>>
>>>
Avantages:
FatalError n'est pas catchissifiée par python). La batterie n'ouvre donc plus une fenêtre JIT debug lors d'une FatalError.browse par exemple).— Romain BOMAN 2007/12/19 09:30