From d9ba8170f2712883422cbc23a906818ad72c81da Mon Sep 17 00:00:00 2001 From: Martin Thoma Date: Mon, 29 Aug 2022 21:19:00 +0200 Subject: [PATCH] MAINT: Remove catching OverflowException (#1302) Since Python 2.2 (PEP 237), integers cannot throw overflow exceptions. --- PyPDF2/generic/_base.py | 5 +---- tests/test_generic.py | 5 ++--- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/PyPDF2/generic/_base.py b/PyPDF2/generic/_base.py index 5734c3304..72d69b1d4 100644 --- a/PyPDF2/generic/_base.py +++ b/PyPDF2/generic/_base.py @@ -272,10 +272,7 @@ class NumberObject(int, PdfObject): def __new__(cls, value: Any) -> "NumberObject": val = int(value) - try: - return int.__new__(cls, val) - except OverflowError: - return int.__new__(cls, 0) + return int.__new__(cls, val) def as_numeric(self) -> int: return int(repr(self).encode("utf8")) diff --git a/tests/test_generic.py b/tests/test_generic.py index 5cb1ae5d1..5b612be1d 100644 --- a/tests/test_generic.py +++ b/tests/test_generic.py @@ -43,9 +43,8 @@ def test_float_object_exception(): assert FloatObject("abc") == 0 -def test_number_object_exception(): - with pytest.raises(OverflowError): - NumberObject(1.5 * 2**10000) +def test_number_object_no_exception(): + NumberObject(2**100000000) def test_create_string_object_exception():