@@ -39,8 +39,6 @@ def _iconv_encode_impl(encoder, msg, errors, bufsize=None):
3939 out1 , len1 = _iconv_encode_impl (
4040 encoder , msg [inlen :].decode ()[1 :].encode (), errors
4141 )
42- else :
43- raise ValueError ("unsupported error handling" )
4442 return outres + out1 , inlen + len1 + 1
4543 raise
4644
@@ -74,8 +72,6 @@ def _iconv_decode_impl(decoder, msg, errors, bufsize=None):
7472 out1 , len1 = _iconv_decode_impl (decoder , msg [inlen + 1 :], errors )
7573 elif errors == "ignore" :
7674 out1 , len1 = _iconv_decode_impl (decoder , msg [inlen + 1 :], errors )
77- else :
78- raise ValueError ("unsupported error handling" )
7975 return outres .decode () + out1 , inlen + len1 + 1
8076
8177
@@ -93,9 +89,15 @@ def codec_factory(encoding):
9389 def encode (inp , errors = "strict" ):
9490 msg = inp .encode ()
9591
92+ if errors not in ("strict" , "replace" , "ignore" ):
93+ raise ValueError ("unsupported error handling" )
94+
9695 return _iconv_encode_impl (encoder , msg , errors )
9796
9897 def decode (msg , errors = "strict" ):
98+ if errors not in ("strict" , "replace" , "ignore" ):
99+ raise ValueError ("unsupported error handling" )
100+
99101 return _iconv_decode_impl (decoder , msg , errors )
100102
101103 return encode , decode
0 commit comments