diff --git a/ros2plugin/ros2plugin/verb/list.py b/ros2plugin/ros2plugin/verb/list.py index fd7a6c9..a68c28d 100644 --- a/ros2plugin/ros2plugin/verb/list.py +++ b/ros2plugin/ros2plugin/verb/list.py @@ -65,8 +65,13 @@ def main(self, *, args): plugin_xml = os.path.join(package_prefix, package_plugin_resource) if not os.path.isfile(plugin_xml): print('XML manifest ' + os.path.basename(plugin_xml) + ' not found.') - - tree = ET.parse(plugin_xml) + try: + tree = ET.parse(plugin_xml) + except ET.ParseError as e: + print( + f'Failed to parse plugin XML file: {plugin_xml}\n' + f'XML error: {e}' + ) for e in tree.iter(): if e.tag == 'class':