Error is thrown whenever an assertion fails. It provides methods to more easily get at error information and also provides a base class from which more specific assertion errors can be derived.
Returns a fully formatted error for an assertion failure. This should be overridden by all subclasses to provide specific information.
String: A string describing the error.