diff --git a/djangoapps/courseware/modules/capa_module.py b/djangoapps/courseware/modules/capa_module.py index 5110a817aa..caee3a0cd1 100644 --- a/djangoapps/courseware/modules/capa_module.py +++ b/djangoapps/courseware/modules/capa_module.py @@ -202,13 +202,25 @@ class Module(XModule): try: fp = self.filestore.open(self.filename) except Exception,err: - print '[courseware.capa.capa_module.Module.init] error %s: cannot open file %s' % (err,self.filename) + log.error('[courseware.capa.capa_module.Module.init] error %s: cannot open file %s' % (err,self.filename)) if self.DEBUG: # create a dummy problem instead of failing - fp = StringIO.StringIO('Problem file %s is missing' % self.filename) + fp = StringIO.StringIO('Problem file %s is missing' % self.filename) + else: + raise Exception,err + try: + self.lcp=LoncapaProblem(fp, self.item_id, state, seed = seed, system=self.system) + except Exception,err: + msg = '[courseware.capa.capa_module.Module.init] error %s: cannot create LoncapaProblem %s' % (err,self.filename) + log.error(msg) + if self.DEBUG: + msg = '

%s

' % msg.replace('<','<') + msg += '

%s

' % traceback.format_exc().replace('<','<') + # create a dummy problem with error message instead of failing + fp = StringIO.StringIO('Problem file %s has an error:%s' % (self.filename,msg)) + self.lcp=LoncapaProblem(fp, self.item_id, state, seed = seed, system=self.system) else: raise Exception,err - self.lcp=LoncapaProblem(fp, self.item_id, state, seed = seed, system=self.system) def handle_ajax(self, dispatch, get): '''