Bus error usually *is* an input pin on the processor, so that's correct how to do it.
offset is simply the number of data bus units. For 8-bit data buses, offset = byte address, minus the start of the handler. For 16-bit, offset is the number of 16 bit words, and for a 32-bit data bus it's the number of 32-bit words.
So for this memory range on a CPU with a 32-bit data bus: