What are the differences between a trap and an interrupt?