1. A program execution apparatus that executes a program, said program execution apparatus comprising: a first program selector operable to select, as a program to be executed, a program which is downloaded to a storage and executed; a program monitor operable to monitor an operational state of a currently executed program; a second program selector operable to select, as a program to be executed, a program that is of the same type as the currently executed program, in the case where abnormal termination of the currently executed program is detected by said program monitor; a processor operable to execute the program selected by said first program selector and, in the case where abnormal termination of the currently executed program is detected by said program monitor, to execute the program selected by said second program selector; a cause obtainer operable to obtain a cause of the abnormal termination of the program detected by said program monitor; and a countermeasure executioner operable to execute a countermeasure based on the cause of the abnormal termination, wherein said processor is operable to execute the program selected by said second program selector, after the countermeasure is executed by said countermeasure executioner, and wherein upon selection and execution of the program selected by said second program selector, the program that experienced abnormal termination is prevented from further execution.