- allows catching any exceptions and making sure the xml is in the error message - isolates subclasses from external interface a bit