A new method for fault-tolerant control is presented. The fault is considered as switching in the system dynamics. A switching-based approach is then adopted for the fault-tolerant control of the system. This approach can be used to model multiplicative faults, such as actuator and sensor faults, as well as component faults. It is applied to passive fault-tolerant control, where the fault is never detected, and to active fault-tolerant control, where the fault is detected and isolated within a given time limit. The fault may not be known accurately and some uncertainty in the fault can be considered as an uncertainty in the systems dynamics after the fault has occurred. A controller that stabilizes the system, and achieves guaranteed performance is obtained by solving linear matrix inequalities. An illustrative example of aircraft control is given.