Fix exception incompatibility.

This commit is contained in:
INADA Naoki 2013-02-22 17:41:52 +09:00
parent d766820421
commit f0fd90a759
2 changed files with 5 additions and 4 deletions

View file

@ -113,10 +113,8 @@ def unpackb(object packed, object object_hook=None, object list_hook=None,
if off < buf_len: if off < buf_len:
raise ExtraData(obj, PyBytes_FromStringAndSize(buf+off, buf_len-off)) raise ExtraData(obj, PyBytes_FromStringAndSize(buf+off, buf_len-off))
return obj return obj
elif ret < 0:
raise ValueError("Unpack failed: error = %d" % (ret,))
else: else:
raise UnpackValueError raise UnpackValueError("Unpack failed: error = %d" % (ret,))
def unpack(object stream, object object_hook=None, object list_hook=None, def unpack(object stream, object object_hook=None, object list_hook=None,

View file

@ -102,7 +102,10 @@ def unpackb(packed, object_hook=None, list_hook=None, use_list=True,
encoding=encoding, unicode_errors=unicode_errors, encoding=encoding, unicode_errors=unicode_errors,
object_pairs_hook=object_pairs_hook) object_pairs_hook=object_pairs_hook)
unpacker.feed(packed) unpacker.feed(packed)
ret = unpacker._fb_unpack() try:
ret = unpacker._fb_unpack()
except OutOfData:
raise UnpackValueError("Data is not enough.")
if unpacker._fb_got_extradata(): if unpacker._fb_got_extradata():
raise ExtraData(ret, unpacker._fb_get_extradata()) raise ExtraData(ret, unpacker._fb_get_extradata())
return ret return ret