Error processing - GetcuReone/FactFactory GitHub Wiki

Error processing

If you demanded facts, but got an exception instead, you can fight them.

FactFactoryException

If you catch an FactFactoryException, then most likely you incorrectly created or misused some element of the factory. In this case, you can simply read in detail what exactly went wrong and fix it.

InvalidDeriveOperationException

If an InvalidDeriveOperationException was caught, then most likely there was not enough information to compute the fact you requested. This error contains details of what we were missing. It contains a list of detailed parts, each containing information:

  • What wantAction we cannot calculate;
  • Which container was used for the calculation;
  • What specific facts we could not calculate;
  • What facts did we lack to calculate. What facts did we lack to calculate. The error can contain information about several sets of facts that were not enough for the calculation. This situation should be interpreted as "If the container contained any of these sets of facts, then we could compute the required fact."

Any other exception

In this case, it is most likely that you made a mistake when creating rules or creating an action to query for facts.

But if you are sure that this is not the case, then the problem is in the algorithms of the fact factory. And you can leave a detailed issui with the description.