class predicates ? ????handleFileReadError?:?(?exception::traceID?ErrorCode?) failure. clauses ? ????handleFileReadError(ErrorCode):-? ????????Descriptor?=?exception::tryGetDescriptor(ErrorCode,?fileSystem_api::cannotcreate),? ????????!,?% file cannot be loaded ????????exception::descriptor(_ErrorCode,?% _ErrorCode is ErrorCode , %just not necessary to insert extra check here ????????????_ClassInfo,?% class information of the class, which raised the exception . ????????????_Exception,?% actually it is fileSystem_api::cannotcreate, % but the parameter should not be compared by ' = ' . % See exceptionState::equals ????????????_Kind,?% exception can be raised or continued ????????????ExtraInfo,? ????????????_CursorPosition,? % currently we know the position, % but sending dumps to developers requires positions ????????????_GMTTime,?% the time of exception creation . ????????????ExceptionDescription)?=?Descriptor,? ????????FileName?=?core::mapLookUp(ExtraInfo,? ????????????fileSystem_api::fileName_parameter,?string("")),? ????????Reason?=?core::mapLookUp(ExtraInfo,? ????????????common_exception::errorDescription_parameter,?string("")),? ????????stdIO::write("Cannot?load?file?due?to:?",ExceptionDescription,? "\nFileName:?",?FileName,? "\nReason:?",?Reason?),? ????????exception::clear(ErrorCode),? % it is necessary to clean exceptions when they are handled ????????fail.? ????handleFileReadError(ErrorCode):-? ????????isDebugMode?=?true,? ????????!,? ????????exceptionDump::dumpToStdOutput(ErrorCode),? % dump to console for developer needs ????????exception::clearAll(),? % clear all exceptions, as they are shown in the dump already . ????????fail.? ????handleFileReadError(ErrorCode):-? ????????exception::clear(ErrorCode),? % program cannot handle the exception and it does not report about it . ????????fail.