Message 137666 - Python tracker
b'abc\xff'.decode('punycode', 'ignore') raises the same error than b'abc\xff'.decode('punycode', 'replace') or b'abc\xff'.decode('punycode'): it uses the strict error handler, and simply ignores the error handler.
punycodec, as idna, should raise an exception if the error handler is different than strict.