.. exception:: IllegalMonthError(month)
- A subclass of :exc:`ValueError`,
+ A subclass of :exc:`ValueError` and :exc:`IndexError`,
raised when the given month number is outside of the range 1-12 (inclusive).
+ .. versionchanged:: 3.12
+ :exc:`IllegalMonthError` is now also a subclass of
+ :exc:`ValueError`. New code should avoid catching
+ :exc:`IndexError`.
+
.. attribute:: month
The invalid month number.
calendar.TextCalendar().formatmonth(0, 2),
result_0_02_text
)
+
def test_formatmonth_with_invalid_month(self):
with self.assertRaises(calendar.IllegalMonthError):
calendar.TextCalendar().formatmonth(2017, 13)
with self.assertRaises(calendar.IllegalMonthError):
calendar.TextCalendar().formatmonth(2017, -1)
+ def test_illegal_month_error_bases(self):
+ self.assertIsSubclass(calendar.IllegalMonthError, ValueError)
+ self.assertIsSubclass(calendar.IllegalMonthError, IndexError)
+
def test_formatmonthname_with_year(self):
self.assertEqual(
calendar.HTMLCalendar().formatmonthname(2004, 1, withyear=True),