1. A program execution device that executes a program, said program execution device comprising: a first program selection unit operable to select, as a program to be executed, a program which is downloaded and executed; a program monitoring unit operable to monitor an operational state of a currently executed program; a second program selection unit 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 monitoring unit; an execution unit operable to execute the program selected by said first program selection unit and, in the case where abnormal termination of the currently executed program is detected by said program monitoring unit, to execute the program selected by said second program selection unit; a cause obtainment unit operable to obtain a cause of the abnormal termination of the program detected by said program monitoring unit; and a countermeasure execution unit operable to execute a countermeasure based on the cause of the abnormal termination, wherein said execution unit is operable to execute the program selected by said second program selection unit, after the countermeasure is executed by said countermeasure execution unit.