GH-103944: Check error status when raising DeprecationWarning (#103949)

diff --git a/Modules/_datetimemodule.c b/Modules/_datetimemodule.c
index d392d38..8f86fc9 100644
--- a/Modules/_datetimemodule.c
+++ b/Modules/_datetimemodule.c
@@ -5144,13 +5144,13 @@ datetime_datetime_now_impl(PyTypeObject *type, PyObject *tz)
 static PyObject *
 datetime_utcnow(PyObject *cls, PyObject *dummy)
 {
-    PyErr_WarnEx(
-        PyExc_DeprecationWarning,
-        "datetime.utcnow() is deprecated and scheduled for removal in a future "
-        "version. Use timezone-aware objects to represent datetimes in UTC: "
-        "datetime.now(datetime.UTC).",
-        2
-    );
+    if (PyErr_WarnEx(PyExc_DeprecationWarning,
+        "datetime.utcnow() is deprecated and scheduled for removal in a "
+        "future version. Use timezone-aware objects to represent datetimes "
+        "in UTC: datetime.now(datetime.UTC).", 2))
+    {
+        return NULL;
+    }
     return datetime_best_possible(cls, _PyTime_gmtime, Py_None);
 }
 
@@ -5187,13 +5187,13 @@ datetime_fromtimestamp(PyObject *cls, PyObject *args, PyObject *kw)
 static PyObject *
 datetime_utcfromtimestamp(PyObject *cls, PyObject *args)
 {
-    PyErr_WarnEx(
-        PyExc_DeprecationWarning,
+    if (PyErr_WarnEx(PyExc_DeprecationWarning,
         "datetime.utcfromtimestamp() is deprecated and scheduled for removal "
         "in a future version. Use timezone-aware objects to represent "
-        "datetimes in UTC: datetime.now(datetime.UTC).",
-        2
-    );
+        "datetimes in UTC: datetime.now(datetime.UTC).", 2))
+    {
+        return NULL;
+    }
     PyObject *timestamp;
     PyObject *result = NULL;