x86 CPUs have always supported unaligned load/store.
Early RISC CPUs didn't. So imagine writing portable code on a 386. It seems to work fine, but how do you know you haven't accidentally misaligned some data, so that when a customer tries running it on a RISC workstation, it will crash? Would be nice if you could somehow set your 386 to turn off unalignment tolerance, so you know if it doesn't crash on your machine, it's good.
Did any x86 CPU ever provide, by any means, the ability to trap unaligned memory accesses?
Adding clarification: when I talk about writing portable code on a 386, I mean writing hopefully-portable C, compiling it on your 386 workstation to test, then supplying the C to whoever is going to compile it on a RISC machine.