Make the exception string a little more useful

This partial helps bug #1119883

Change-Id: I247ab39406bcc608c0d66a8140dc198b93491ac1
This commit is contained in:
Angus Salkeld 2013-02-25 11:14:49 +11:00
parent d5cd88b484
commit 7c920dbe0b
1 changed files with 15 additions and 2 deletions

View File

@ -161,7 +161,13 @@ class Template(collections.Mapping):
def handle_join(args):
if not isinstance(args, (list, tuple)):
raise TypeError('Arguments to "Fn::Join" must be a list')
delim, items = args
try:
delim, items = args
except ValueError as ex:
example = '"Fn::Join" : [ " ", [ "str1", "str2"]]'
raise ValueError('Incorrect arguments to "Fn::Join" %s: %s' %
('should be', example))
if not isinstance(items, (list, tuple)):
raise TypeError('Arguments to "Fn::Join" not fully resolved')
reduced = []
@ -189,7 +195,14 @@ class Template(collections.Mapping):
def handle_join(args):
if not isinstance(args, (list, tuple)):
raise TypeError('Arguments to "Fn::Join" must be a list')
delim, strings = args
try:
delim, strings = args
except ValueError as ex:
example = '"Fn::Join" : [ " ", [ "str1", "str2"]]'
raise ValueError('Incorrect arguments to "Fn::Join" %s: %s' %
('should be', example))
if not isinstance(strings, (list, tuple)):
raise TypeError('Arguments to "Fn::Join" not fully resolved')
return delim.join(strings)