A mult i-agent system (MAS) is formed by a number of agents connected together to achieve the desired goals specified by the design. Usually in a multi agent system, agents work on behalf of a user to accomplish given goals. In MAS co-ordination, co-operation, negotiation and communication are important aspects to achieve fault tolerance in MAS. The multi-agent system is likely to fail in a distributed environment and as an outcome of such, the resources for MAS may not be available due to the failure of an agent, mach ine crashes, process failure, software failure, communicat ion failure and/or hardware failure. Therefore, many researchers have proposed fault tolerance approaches to overcome the failure in MAS. So we have surveyed these approaches in this paper, whereby our contribution is threefold. Firstly, we have provided taxonomy of faults and techniques in MAS. Secondly, we have provided a qualitative comparison of existing fault tolerance approaches. Thirdly, we have provided an evaluation of existing fau lt tolerance techniques. Results show that most of the existing schemes are not very efficient, due to various reasons like high computation costs, costly replication and large communicat ion overheads.