feat: понятный показ ошибок при запуске (окно + консоль)

This commit is contained in:
2026-08-03 09:41:09 +04:00
parent 8072ddd0fc
commit be8cde7512
+22 -4
View File
@@ -3,19 +3,21 @@
"""ImportMapper — универсальный редактор импорта из Excel-опросников. """ImportMapper — универсальный редактор импорта из Excel-опросников.
Запуск: Запуск:
python3 main.py python3 main.py (или: py main.py)
""" """
import sys import sys
import os import os
import traceback
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
import tkinter as tk
from editor import ImportMapperWindow
def main(): def main():
import tkinter as tk
from tkinter import messagebox
from editor import ImportMapperWindow
root = tk.Tk() root = tk.Tk()
root.title("ImportMapper — редактор импорта из опросников") root.title("ImportMapper — редактор импорта из опросников")
root.geometry("300x120") root.geometry("300x120")
@@ -27,4 +29,20 @@ def main():
if __name__ == "__main__": if __name__ == "__main__":
try:
main() main()
except Exception as e:
# Показываем ошибку и в окне, и в консоли
msg = f"{type(e).__name__}: {e}\n\n{traceback.format_exc()}"
print("ОШИБКА ЗАПУСКА:")
print(msg)
try:
import tkinter as tk
from tkinter import messagebox
r = tk.Tk()
r.withdraw()
messagebox.showerror("Ошибка запуска ImportMapper", msg)
except Exception:
pass
input("Нажмите Enter для выхода...")
sys.exit(1)