Exceptions
Cacao Engine exceptions come in a variety of different classes (though they are functionally identical) to give further context about what has happened. Each exception also has an associated message.
Built-In Exceptions
External- The exception came from a non-Cacao library and is not associated with the engine itself, but is being forwardedFileNotFound- A requested file was not foundIO- An I/O error occurredFileOpen- A file could not be openedInvalidYAML- YAML input followed a different schema than what was expectedBadInitState- Something was in the wrong initialization stateBadRealizeState- A resource’s realized representation existed when it should not have, or did not exist when it should haveBadState- Something was in the wrong stateBadThread- A function was called on an unsupported threadBadType- An object of a different type than the expected one was passedBadValue- A value was passed that did not meet constraintsNonexistentValue- A value was expected, but an error or null value was returned or the value did not existExistingValue- A value was expected not to exist when it didMisc- Anything that doesn’t fit the above categories