mirror of
https://github.com/markqvist/Sideband.git
synced 2025-11-29 19:56:39 -05:00
39 lines
976 B
Python
39 lines
976 B
Python
import os
|
|
import traceback
|
|
|
|
from kivy.base import (
|
|
ExceptionHandler,
|
|
ExceptionManager,
|
|
stopTouchApp,
|
|
)
|
|
from kivy.properties import StringProperty
|
|
from kivy.uix.popup import Popup
|
|
from kivy.lang import Builder
|
|
from kivy.logger import Logger
|
|
|
|
|
|
Builder.load_file(os.path.join(os.path.dirname(__file__), 'error_message.kv'))
|
|
|
|
|
|
class ErrorMessageOnException(ExceptionHandler):
|
|
|
|
def handle_exception(self, exception):
|
|
Logger.exception('Unhandled Exception catched')
|
|
message = ErrorMessage(message=traceback.format_exc())
|
|
|
|
def raise_exception(*ar2gs, **kwargs):
|
|
stopTouchApp()
|
|
raise Exception("Exit due to errors")
|
|
|
|
message.bind(on_dismiss=raise_exception)
|
|
message.open()
|
|
return ExceptionManager.PASS
|
|
|
|
|
|
class ErrorMessage(Popup):
|
|
title = StringProperty('Bang!')
|
|
message = StringProperty('')
|
|
|
|
|
|
def install_exception_handler():
|
|
ExceptionManager.add_handler(ErrorMessageOnException())
|