У меня была программа, разработанная на Python (2.7 и 3.2), которая читает три файла и генерирует некоторый код на основе этих файлов. В коде у меня было несколько проверок входного файла, чтобы зафиксировать любые ошибки ввода пользователем. Если программа ловит ошибку ввода, я использовал команду os.sys.exit (), чтобы остановить обработку и выдать сообщение об ошибке. Я в основном использовал IDLE для процесса, и это работало нормально.
Теперь я разработал графический интерфейс для программы для развертывания с использованием PYQT4. Пользователь использует графический интерфейс для ввода всех необходимых входных файлов и условий, а затем графический интерфейс вызывает предыдущий код, сгенерированный мной, с необходимыми аргументами.
Однако я обнаружил, что если пользователь делает ошибку во входных файлах, когда предыдущий код перехватывает эти ошибки и выполняется os.sys.exit (), сам графический интерфейс пользователя полностью отключается; что не хорошо.
Я ввел те же проверки входных файлов в графический интерфейс, поэтому, если они обнаружены, они обрабатываются в графическом интерфейсе, а не в коде. Но есть определенные проверки обработки, которые происходят внутри кода, что GUI не имеет к ним доступа.
Вопрос: Есть ли способ остановить выполнение вызываемого кода, напечатать сообщение об ошибке (например, в файл журнала; который я уже использую), не вызывая вообще выход из GUI?
Спасибо,
примечание: на данный момент код слишком велик, чтобы я мог интегрировать его в графический интерфейс как класс.