Il y a en gros trois catégories de situations exceptionnelles que le programmeur d'une application doit distinguer pour déterminer de quelle façon gérer la situation.