Many types of terminal controllers will issue an interrupt request every time a key is struck on the terminal they control. Faults are exceptions that prevent the instruction that is executing from completing. Traps are exceptions that indicate that the instruction that caused them completed with some kind of error. Illegal instructions or invalid addressing modes - usually the result of bad code or attempting to execute data. Division by zero.
Interrupts arise from conditions outside the currently running program.
Thus, if the same program is run again, it is very unlikely that the same interrupt will occur at the same point in the program. Ordinarily, if a given program gives rise to an exception, then it will generate that same exception at the same point in its execution every time it is run on the same input data. On most computers, dealing with interrupts and exceptions involves features of both the hardware and the operating system. In response to an interrupt or exception, the hardware typically does a forced jump to an operating system routine that is designed to handle the specific condition detected. Since VAXen are also capable of running Unix, we could look at this combination as well.