As someone who's been coding professionally since the 1980's, I'd consider any case where a program behaves in a way it shouldn't a bug. Some bugs do not cause any exceptions, allowing the program to keep running, but incorrectly to one degree or another. Others do cause exceptions. Some exceptions one can recover from, and keep using the software (in Ren'py games, being able to continue by hitting the Ignore button); others may be fatal.A bug would be for example when you chose "yes", but the game continues as you told "no". Or a scene would appear even you did a previous choice to avoid that scene... and so on...
Exceptions are errors in scripting the code which will lead to a crash
to be even more detailed:
exploits = being able to abuse the games' mechanic in a way you are not supposed to do
exceptions = errors in scripts - which lead to a crash in most cases
bugs = game does behave in a way it shouldn't
But to be honest: mostly a bug leads into an exception, which of course excuses your mix-up
In general, to provide free advice: assume the results of using any program after encountering a bug (whether there's an exception or not) Maynor be the results you expect. In the context of games/VNs, this is primarily a matter of the state of the game (and thus, the state of any game saves) may not allow you to continue to play and reach all content. Underlying game values may be missing or wrong. For your own safety, if you can actually identify the point where the bug happens, make a save before it happens. Do not save over old saves after the point where the bug occurs. In practical terms, make sure that after an update your first save is a new one, and don't overwrite old saves.