Merge "Convert exception messages to strings"

This commit is contained in:
Zuul 2018-12-24 23:04:19 +00:00 committed by Gerrit Code Review
commit af8816f20c
2 changed files with 12 additions and 8 deletions

View File

@ -23,6 +23,7 @@ SHOULD include dedicated exception logging.
"""
from oslo_log import log as logging
import six
import webob.exc
from webob import util as woutil
@ -77,15 +78,16 @@ class NovaException(Exception):
except AttributeError:
pass
if not message:
try:
try:
if not message:
message = self.msg_fmt % kwargs
except Exception:
# NOTE(melwitt): This is done in a separate method so it can be
# monkey-patched during testing to make it a hard failure.
self._log_exception()
message = self.msg_fmt
else:
message = six.text_type(message)
except Exception:
# NOTE(melwitt): This is done in a separate method so it can be
# monkey-patched during testing to make it a hard failure.
self._log_exception()
message = self.msg_fmt
self.message = message
super(NovaException, self).__init__(message)

View File

@ -153,6 +153,8 @@ class NovaExceptionTestCase(test.NoDBTestCase):
def test_error_msg(self):
self.assertEqual('test',
six.text_type(exception.NovaException('test')))
self.assertEqual('test',
exception.NovaException(Exception('test')).message)
def test_default_error_msg_with_kwargs(self):
class FakeNovaException(exception.NovaException):