Issue #23752: _Py_fstat() is now responsible to raise the Python exception

Add _Py_fstat_noraise() function when a Python exception is not welcome.
diff --git a/Python/sysmodule.c b/Python/sysmodule.c
index 471389c..9ec2521 100644
--- a/Python/sysmodule.c
+++ b/Python/sysmodule.c
@@ -1690,7 +1690,7 @@
 #if !defined(MS_WINDOWS)
     {
         struct _Py_stat_struct sb;
-        if (_Py_fstat(fileno(stdin), &sb) == 0 &&
+        if (_Py_fstat_noraise(fileno(stdin), &sb) == 0 &&
             S_ISDIR(sb.st_mode)) {
             /* There's nothing more we can do. */
             /* Py_FatalError() will core dump, so just exit. */