/**
  * Create a new taoQtiTest_helpers_TestSessionException object.
  *
  * @param string $message A human-readable message describing the error.
  * @param integer $code A code to enable client-code to identify the error programatically.
  * @param Exception $previous An optional previous exception.
  */
 public function __construct($message, $code = 0, Exception $previous = null)
 {
     parent::__construct($message, $code, $previous);
 }
 protected function handleAssessmentTestSessionException(AssessmentTestSessionException $e)
 {
     switch ($e->getCode()) {
         case AssessmentTestSessionException::ASSESSMENT_TEST_DURATION_OVERFLOW:
         case AssessmentTestSessionException::TEST_PART_DURATION_OVERFLOW:
         case AssessmentTestSessionException::ASSESSMENT_SECTION_DURATION_OVERFLOW:
         case AssessmentTestSessionException::ASSESSMENT_ITEM_DURATION_OVERFLOW:
             $this->onTimeout($e);
             break;
         default:
             $msg = "Non managed QTI Test exception caught:\n";
             do {
                 $msg .= "[" . get_class($e) . "] " . $e->getMessage() . "\n";
             } while ($e = $e->getPrevious());
             common_Logger::e($msg);
             break;
     }
 }
 protected function handleAssessmentTestSessionException(AssessmentTestSessionException $e)
 {
     switch ($e->getCode()) {
         case AssessmentTestSessionException::ASSESSMENT_TEST_DURATION_OVERFLOW:
         case AssessmentTestSessionException::TEST_PART_DURATION_OVERFLOW:
         case AssessmentTestSessionException::ASSESSMENT_SECTION_DURATION_OVERFLOW:
         case AssessmentTestSessionException::ASSESSMENT_ITEM_DURATION_OVERFLOW:
             $this->onTimeout($e);
             break;
     }
 }