mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
Added exception handling during handler initialization in fileConfig()
This commit is contained in:
parent
1cc37380b2
commit
02dd994adf
1 changed files with 27 additions and 24 deletions
|
@ -98,6 +98,7 @@ def fileConfig(fname, defaults=None):
|
||||||
handlers = {}
|
handlers = {}
|
||||||
fixups = [] #for inter-handler references
|
fixups = [] #for inter-handler references
|
||||||
for hand in hlist:
|
for hand in hlist:
|
||||||
|
try:
|
||||||
sectname = "handler_%s" % hand
|
sectname = "handler_%s" % hand
|
||||||
klass = cp.get(sectname, "class")
|
klass = cp.get(sectname, "class")
|
||||||
opts = cp.options(sectname)
|
opts = cp.options(sectname)
|
||||||
|
@ -123,6 +124,8 @@ def fileConfig(fname, defaults=None):
|
||||||
if len(target): #the target handler may not be loaded yet, so keep for later...
|
if len(target): #the target handler may not be loaded yet, so keep for later...
|
||||||
fixups.append((h, target))
|
fixups.append((h, target))
|
||||||
handlers[hand] = h
|
handlers[hand] = h
|
||||||
|
except: #if an error occurs when instantiating a handler, too bad
|
||||||
|
pass #this could happen e.g. because of lack of privileges
|
||||||
#now all handlers are loaded, fixup inter-handler references...
|
#now all handlers are loaded, fixup inter-handler references...
|
||||||
for fixup in fixups:
|
for fixup in fixups:
|
||||||
h = fixup[0]
|
h = fixup[0]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue