stm32 external interrupt always pending
Since you ask about debugging methods for problems like this, the absolute first thing I would do (after making sure the microcontroller is properly bypassed and the power is good) is to get this working flawlessly with ONE interrupt configured and enabled, and then and only then move on to more than one.  Add them one at a time and see where things go wrong.

I don't know what your particular printf is doing.  I assume it goes to some semihosting tty in your dev environment.  In any case, I would lose it until I have this worked out.  Use some GPIO output as indicators that the interrupt was received, probably toggling on each one.  As a rule of thumb, long complicated stuff is to avoided in interrupts.  You might try disabling the interrupt while you're in it, and reenable on the way back out.  That printf takes up a lot of clock ticks, and bounce (see below) might be retriggering.

Another issue would be switch bounce.  You may be triggering an interrupt every time you flip the switch.  Even when you flip the switch OFF you probably have rising edges.  You can hardware or software debounce, but again, until you have a grip on it, I recommend triggering your interrupts clean from a digital output on another port.

Also, using a multimeter here really isn't the right tool.  If the problem lies with the signals going to PORTE pins, there's no way you will find it without a scope.  If everything else doesn't work, you should try to handle these inputs better, but without knowing specifics of what they are now, we can't really advise you on this.  If you had a scope, you could use the interrupt to set a bit high, trigger the scope on that, and look at the portE signal that caused it.

If stepping through your problem this way doesn't help you figure out the underlying problem (or someone with a better eye than me can see the error in your code), update to let us know the step where things go wrong and we can take another crack at it.