Mercurial > hg
changeset 47292:5a75be916316
errors: create superclass for Abort exception
I'd like to let extensions subclass `StorageError` to define a custom
exit code. However, `StorageError` does not extend `Abort` (which is
where the exit code currently lives), and it seems that it's not
supposed to either (`StorageError` seems to be for lower-level errors
and `Abort` is for command-level errors). This patch therefore
extracts all the code from `Abort` into a new `Error` class, which
I'll soon make `StorageError` also extend.
Differential Revision: https://phab.mercurial-scm.org/D10738
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Tue, 18 May 2021 21:32:12 -0700 |
parents | d9c71bbe20f7 |
children | 7a769ac49637 |
files | mercurial/error.py |
diffstat | 1 files changed, 6 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/error.py Tue May 18 22:07:16 2021 -0700 +++ b/mercurial/error.py Tue May 18 21:32:12 2021 -0700 @@ -51,8 +51,8 @@ super(Hint, self).__init__(*args, **kw) -class Abort(Hint, Exception): - """Raised if a command needs to print an error and exit.""" +class Error(Hint, Exception): + """Base class for Mercurial errors.""" def __init__( self, message, hint=None, coarse_exit_code=None, detailed_exit_code=None @@ -87,6 +87,10 @@ return message +class Abort(Error): + """Raised if a command needs to print an error and exit.""" + + class StorageError(Hint, Exception): """Raised when an error occurs in a storage layer.