using common exception baseclass and added ion exception codes
for easier mapping to ion exceptions in the agent