Los programadores están entrenados para tratar cada caso por igual, tanto si es algo común como si sólo puede pasar 1 de cada 1000 veces. Su objetivo es crear software que nunca se rompa. Sin embargo, este aproximación no funciona en el caso del diseño. Si se intenta crear una interfaz que trate y dé la misma importancia a la norma que a las excepciones, se creará una interfaz que no será buena para ningún usuario.
Source: bonillaware.com