I tried the codebase against the new esp-idf 4 alpha code, and
the build didn't have exception handling enabled by default.
I saw no problems with modifying the code to not raise exceptions,
so I did so to be future-proof.
The exception cases were cases that should not happen anyway,
because the input that could trigger the exception has already
been validated on beforehand by the Python-based code generation.