Der Try/Except Block überprüft gar nix sondern kommt einfach nur zur Ausführung, wenn eine
Exception auftritt.
So, ich habe mir das ganze mal angeschaut und musste feststellen, das die Überlaufprüfung nicht wirksam ist, wenn man Bytes addiert. Dadurch das die 32 Bit Register nutzt, wird das Overflow Flag nicht gesetzt, da auch 32-bittig addiert wird. Wenn aber nun die Bereichsprüfung mit eingeschaltet ist, dann überprüft er danach das Ergebnis, ob es kleiner gleich 255 ist und somit in ein Byte passt. Ist dies nicht der Fall, dann schmeisst er die ERangeError
Exception.
Im Anhang ein Bild vom erzeugten Code beim addieren von 2 Bytes zu einem 3. Byte mit Überlauf. Man sieht gut den Sprung bei gesetztem Overflow Flag (jno), die Begrenzung der Werte vor der Addition (and xxx, $00ff) und den Sprung bei Werten kleiner gleich 255 über die BoundError Auslösung.