diff --git a/beets/ui/__init__.py b/beets/ui/__init__.py index af2b79a19..d3c3dafc2 100644 --- a/beets/ui/__init__.py +++ b/beets/ui/__init__.py @@ -1193,10 +1193,11 @@ def _open_library(config): get_replacements(), ) lib.get_item(0) # Test database connection. - except (sqlite3.OperationalError, sqlite3.DatabaseError): + except (sqlite3.OperationalError, sqlite3.DatabaseError) as db_error: log.debug(u'{}', traceback.format_exc()) - raise UserError(u"database file {0} could not be opened".format( - util.displayable_path(dbpath) + raise UserError(u"database file {0} cannot not be opened: {1}".format( + util.displayable_path(dbpath), + db_error )) log.debug(u'library database: {0}\n' u'library directory: {1}', diff --git a/docs/changelog.rst b/docs/changelog.rst index 0d4d01535..45d8220fe 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -50,6 +50,9 @@ Fixes: with CORS enabled. Thanks to :user:`rveachkc`. :bug:`2979`: :bug:`2980` +* Improve error reporting: during startup if sqlite returns an error the + sqlite error message is attached to the beets message. + :bug:`3005` .. _python-itunes: https://github.com/ocelma/python-itunes