Пример:

у программу, часть которой загружает данные из файла, в частности числа с плавающей запятой. Я использую кроме, чтобы поймать ошибку при преобразовании строки в число с плавающей точкой, но странная вещь случается, когда происходит исключение. В этом случае выполняется только часть моего кода под нимsys.exit(1), infoBox.setText полностью опущен. Я понятия не имею, почему это происходит, и буду очень благодарен за любую помощь. Вот код:

def on_click_load(self):
    with open('parameters.txt', 'r', encoding='utf-8') as file:
        a = file.read()
        help_tab = []
        # Pipe along with O, x are special markers in file
        for i in range(len(a) - 3):
            if a[i] == '|' and a[i + 1] == 'O' and a[i + 2] == 'x':
                while a[i + 3] != '|':
                    if a[i + 3].isdigit() == True:
                        help_tab.append(a[i + 3])
                    elif a[i + 3] == '.' or a[i + 3] == '-':
                        help_tab.append(a[i + 3])
                    else:
                        j = ''.join(help_tab)
                        try:
                            self.TabX.append(float(j))
                        except ValueError:
                        # I have problem in this section
                            self.infoBox.setText(
                                'There is an error in data in input file . The window will close in 3 seconds')
                            QTimer.singleShot(3000, lambda: sys.exit(1))
                        help_tab.clear()
                    i += 1

Ответы на вопрос(1)

Ваш ответ на вопрос