def _next_parse_event(self): """ Attempts to get next parsing event and handles errors. When there are no more valid parsing events, event is set to None. """ if self._iterate_events: try: # get next parsing event self._event = next(self._event_generator) except pyyaml.MarkedYAMLError as error: # handle parsing error self._event = None self._iterate_events = False start_pos = Position.from_yaml_error(error) self._create_fatal_error_node(start_pos) notification = Notification.from_name('SyntaxFatalError') notification.span = self._fatal_error_node.span self.notification_handler.report(notification) except StopIteration: # handle end of parsing events self._event = None self._iterate_events = False