A method of controlling an engine, which sets a target torque of the engine and controls an engine torque based on the set target torque, the method comprising: setting an allowable torque that is greater than the target torque; detecting a plurality of different operating state parameters each of which corresponds to indicating an actual operating state of the engine, the plurality of operating state parameters including a first operating state parameter and a second operating state parameter; and individually calculating actual engine torques based on each of the operating state parameters; and selecting the largest value among a first and a second actual engine torques, as a final actual torque; and determining that an abnormality exists depending on a determination as to whether or not the final actual torque is greater than the allowable torque, wherein: the first operating state parameter is the intake air amount (Qa) of the engine and the first actual engine torque (Tact1) is calculated based on the intake air amount (Qa), the first actual engine torque (Tact1) increasing as the intake air amount increases (Qa); and the second operating state parameter is the throttle opening of the engine and a first calculated value of the actual engine torque is calculated based on the throttle opening and the engine revolution speed (Ne) of the engine, the first calculated value increasing as the throttle opening increases and the tendency of the change in the first calculated value with respect to the throttle opening differs in accordance with the engine revolution speed (Ne), wherein the second actual torque (Tact2) is calculated by multiplying the first calculated value by a predetermined value (α) smaller than one. setting an allowable torque that is greater than the target torque; detecting a plurality of different operating state parameters each of which corresponds to indicating an actual operating state of the engine, the plurality of operating state parameters including a first operating state parameter and a second operating state parameter; and individually calculating actual engine torques based on each of the operating state parameters; and selecting the largest value among a first and a second actual engine torques, as a final actual torque; and determining that an abnormality exists depending on a determination as to whether or not the final actual torque is greater than the allowable torque, wherein: the first operating state parameter is the intake air amount (Qa) of the engine and the first actual engine torque (Tact1) is calculated based on the intake air amount (Qa), the first actual engine torque (Tact1) increasing as the intake air amount increases (Qa); and the second operating state parameter is the throttle opening of the engine and a first calculated value of the actual engine torque is calculated based on the throttle opening and the engine revolution speed (Ne) of the engine, the first calculated value increasing as the throttle opening increases and the tendency of the change in the first calculated value with respect to the throttle opening differs in accordance with the engine revolution speed (Ne), wherein the second actual torque (Tact2) is calculated by multiplying the first calculated value by a predetermined value (α) smaller than one. the first operating state parameter is the intake air amount (Qa) of the engine and the first actual engine torque (Tact1) is calculated based on the intake air amount (Qa), the first actual engine torque (Tact1) increasing as the intake air amount increases (Qa); and the second operating state parameter is the throttle opening of the engine and a first calculated value of the actual engine torque is calculated based on the throttle opening and the engine revolution speed (Ne) of the engine, the first calculated value increasing as the throttle opening increases and the tendency of the change in the first calculated value with respect to the throttle opening differs in accordance with the engine revolution speed (Ne), wherein the second actual torque (Tact2) is calculated by multiplying the first calculated value by a predetermined value (α) smaller than one.