return Face_Generator.Generate_Error_Face(HTML, ERRMSG_UNHANDLED_EXCEPTION & " (" & Ada.Exceptions.Exception_Information(Ex) & ")");
end;
- ARC := Stored.Problem.Check_Answer(Answer, Answer_Message);
+ begin
+ ARC := Stored.Problem.Check_Answer(Answer, Answer_Message);
+ exception
+ when Ex: others =>
+ Stored.Mutex.Unlock;
+ Logging_System.Log(ERRMSG_UNHANDLED_EXCEPTION & " (" & Ada.Exceptions.Exception_Information(Ex) & ")", Logging_System.ERROR);
+ return Face_Generator.Generate_Error_Face(HTML, ERRMSG_UNHANDLED_EXCEPTION & " (" & Ada.Exceptions.Exception_Information(Ex) & ")");
+ end;
Stored.Mutex.Unlock;
return Face_Generator.Generate_Face_With_Answer(Assignment => Assignment, Answer_Message => Answer_Message,
Answer_Code => ARC, HTML => HTML,