2014-12-31 2 views
0

У меня есть серия процессов для запуска на кучу текстов. Процесс может быть неудачным по каким-либо причинам.код загроможден путем try-except в Python

Если я хочу записать сбой каждого процесса, должен ли я использовать предложение try-except? Проблема заключается в том, что мой код перегружен try-except, основной поток процессов разбит на куски.

for path in paths: 
    with open(path) as file: 
     text=file.read() 
     try: 
      process1(text) 
     except Exception as e: 
      handle e 
      record_failure(process1 , file.name) 
      continue 

     try: 
      process2(text) 
     except Exception as e: 
      handle e 
      record_failure(process2 , file.name) 
      continue 
     . 
     . 
     . 
     processN 

Или Должен ли я потом проанализировать, что в файле журнала исключений это нелегко, я думаю.

Есть ли лучший способ справиться с этим?

+1

положить весь процесс в списке, перебрать и просто одну попытку/за исключением –

ответ

1

Вы можете поместить все процессы в цикле:

allProcs = [process1, process2, processN] 

for path in paths: 
    with open(path) as file: 
     text=file.read() 
     for proc in allProcs: 
      try: 
       proc(text) 
      except Exception as e: 
       # handle e 
       record_failure(proc , file.name) 
       continue 
Смежные вопросы