error: add structured exception for EOF at prompt

We'll catch this exception for promptchoice queries to provide better error
handling.
This commit is contained in:
Siddharth Agarwal 2015-11-10 00:46:45 -08:00
parent c1dff75209
commit 6e6f3927e3
2 changed files with 8 additions and 2 deletions

View File

@ -72,6 +72,12 @@ class ConfigError(Abort):
class UpdateAbort(Abort):
"""Raised when an update is aborted for destination issue"""
class ResponseExpected(Abort):
"""Raised when an EOF is received for a prompt"""
def __init__(self):
from .i18n import _
Abort.__init__(self, _('response expected'))
class OutOfBandError(Exception):
"""Exception raised when a remote repo reports failure"""

View File

@ -756,7 +756,7 @@ class ui(object):
self.write(r, "\n")
return r
except EOFError:
raise error.Abort(_('response expected'))
raise error.ResponseExpected()
@staticmethod
def extractchoices(prompt):
@ -803,7 +803,7 @@ class ui(object):
else:
return getpass.getpass('')
except EOFError:
raise error.Abort(_('response expected'))
raise error.ResponseExpected()
def status(self, *msg, **opts):
'''write status message to output (if ui.quiet is False)