feat: понятный показ ошибок при запуске (окно + консоль)
This commit is contained in:
@@ -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__":
|
||||||
main()
|
try:
|
||||||
|
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)
|
||||||
|
|||||||
Reference in New Issue
Block a user