There is no difference between Errorand Exception, it's just a contradictory naming convention.
It probably should be standardized someday. The IIRC consensus was mainly use Exceptiononly for a common base class and use Errorfor all implementations for specific errors. In this scheme JSON::ParseExceptionshould be JSON::ParseError.
, , ( ). , .