Brought excluded code into the scope of a try block in SysLogHandler.emit().
diff --git a/Lib/logging/handlers.py b/Lib/logging/handlers.py
index b371824..43cbb55 100644
--- a/Lib/logging/handlers.py
+++ b/Lib/logging/handlers.py
@@ -879,21 +879,21 @@
         The record is formatted, and then sent to the syslog server. If
         exception information is present, it is NOT sent to the server.
         """
-        msg = self.format(record)
-        if self.ident:
-            msg = self.ident + msg
-        if self.append_nul:
-            msg += '\000'
-
-        # We need to convert record level to lowercase, maybe this will
-        # change in the future.
-        prio = '<%d>' % self.encodePriority(self.facility,
-                                            self.mapPriority(record.levelname))
-        prio = prio.encode('utf-8')
-        # Message is a string. Convert to bytes as required by RFC 5424
-        msg = msg.encode('utf-8')
-        msg = prio + msg
         try:
+            msg = self.format(record)
+            if self.ident:
+                msg = self.ident + msg
+            if self.append_nul:
+                msg += '\000'
+
+            # We need to convert record level to lowercase, maybe this will
+            # change in the future.
+            prio = '<%d>' % self.encodePriority(self.facility,
+                                                self.mapPriority(record.levelname))
+            prio = prio.encode('utf-8')
+            # Message is a string. Convert to bytes as required by RFC 5424
+            msg = msg.encode('utf-8')
+            msg = prio + msg
             if self.unixsocket:
                 try:
                     self.socket.send(msg)
diff --git a/Misc/NEWS b/Misc/NEWS
index 9f9155d..97bb398 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -33,6 +33,9 @@
 Library
 -------
 
+- Issue #22776: Brought excluded code into the scope of a try block in
+  SysLogHandler.emit().
+ 
 - Issue #22665: Add missing get_terminal_size and SameFileError to
   shutil.__all__.