EDCD / EDMarketConnector

Downloads commodity market and other station data from the game Elite: Dangerous for use with all popular online and offline trading tools.
GNU General Public License v2.0
988 stars 155 forks source link

[2203] Implement Total Exception Handling #2211

Closed Rixxan closed 4 months ago

Rixxan commented 5 months ago

Description

This PR adds a high-level error handler for critical errors that are not properly handled inside of EDMC. This handles elements that can lead to the program crashing on startup and includes errors where the program may look like it's not working at all.

This improves the user's experience and also encourages users to report errors to us on GitHub so that we can discover and fix errors more often - or at least direct the user on how to fix the error. Also includes the relevant translation information.

Additionally, simplifies the "An EDMarketConnector process was already running" popup to utilize tkinter.messagebox elements, which significantly reduces the amount of overhead needed to show the prompt and also makes the prompt more clear that it is an error.

Example Images

image image

Type of change

How Tested

Tested with both built and source versions of EDMC, with both intentionally broken and known working builds to generate errors.

Notes

Relies upon #2209 for the updated translation system. Until that PR is merged in, this will appear with a larger diff than it really has.

Resolves #2203