In this paper, we investigate technical methods to deal with exceptions, inconsistencies, and ambiguity. Existing reason maintenance systems are only suitable for some of these problems. Doyle's TMS handles exceptions properly, but gets in trouble with non-monotonic odd or even loops. On the other hand, de Kleer's ATMS produces too many contexts if there are exceptions of exceptions. Therefore, we present a hybrid reason maintenance system that benefits from the advantages of the ATMS and TMS. First of all, we use Reiter's default logic as a specification for this system. Second, we develop a criterion that decides which assumption sets are valid. Then, we extend the ATMS by a test algorithm that takes account of exceptions and obeys this criterion. We verify the resulting system using default logic. Finally, we discuss some problems involved with special techniques for resolving inconsistencies (e.g. TMSlike backtracking).