@@ -401,15 +401,17 @@ def _getdecoder(mode, decoder_name, args, extra=()):
401401
402402 try :
403403 decoder = DECODERS [decoder_name ]
404- return decoder (mode , * args + extra )
405404 except KeyError :
406405 pass
406+ else :
407+ return decoder (mode , * args + extra )
408+
407409 try :
408410 # get decoder
409411 decoder = getattr (core , decoder_name + "_decoder" )
410- return decoder (mode , * args + extra )
411412 except AttributeError :
412413 raise OSError ("decoder %s not available" % decoder_name )
414+ return decoder (mode , * args + extra )
413415
414416
415417def _getencoder (mode , encoder_name , args , extra = ()):
@@ -422,15 +424,17 @@ def _getencoder(mode, encoder_name, args, extra=()):
422424
423425 try :
424426 encoder = ENCODERS [encoder_name ]
425- return encoder (mode , * args + extra )
426427 except KeyError :
427428 pass
429+ else :
430+ return encoder (mode , * args + extra )
431+
428432 try :
429433 # get encoder
430434 encoder = getattr (core , encoder_name + "_encoder" )
431- return encoder (mode , * args + extra )
432435 except AttributeError :
433436 raise OSError ("encoder %s not available" % encoder_name )
437+ return encoder (mode , * args + extra )
434438
435439
436440# --------------------------------------------------------------------
0 commit comments