Option decoding errors (primarily in UTF8 options, probably also in empty options, not applicable to opaque or uint) do not have tested behavior; they do raise a ValueError somewhere, but that's neither documented nor well-understood, it just raises (eg. is shown as a backtrace in the plugtest server output rather than being handled).