From e8ef8994042f7dbaa062f521cf1ba5781378044b Mon Sep 17 00:00:00 2001 From: haosenwang1018 Date: Wed, 25 Feb 2026 09:09:30 +0000 Subject: [PATCH] fix: replace bare except clauses with except Exception Bare `except:` catches BaseException including KeyboardInterrupt and SystemExit, which can mask critical errors and prevent clean shutdowns. This replaces 16 bare except clauses across 10 files with `except Exception:` to only catch non-system exceptions. --- scripts/generate_roster.py | 2 +- scripts/start_web.py | 2 +- src/agents/research/agents/reporting_agent.py | 4 ++-- src/api/routers/knowledge.py | 6 +++--- src/api/utils/task_id_manager.py | 2 +- src/knowledge/start_kb.py | 2 +- src/logging/adapters/lightrag.py | 4 ++-- src/logging/logger.py | 4 ++-- src/tools/tex_downloader.py | 6 +++--- 9 files changed, 16 insertions(+), 16 deletions(-) diff --git a/scripts/generate_roster.py b/scripts/generate_roster.py index f76769421..34b13ac1a 100644 --- a/scripts/generate_roster.py +++ b/scripts/generate_roster.py @@ -84,7 +84,7 @@ def fetch_github_api(url: str, token: str = None, count_only: bool = False) -> t total_count += len(more_data) if len(more_data) < per_page: break - except: + except Exception: break break except Exception as e: diff --git a/scripts/start_web.py b/scripts/start_web.py index dd5ba6b61..7dc4f9898 100644 --- a/scripts/start_web.py +++ b/scripts/start_web.py @@ -467,7 +467,7 @@ def log_frontend_output(): if result == 0: print_flush(f"✅ Backend is running on port {backend_port}!") break - except: + except Exception: pass if backend.poll() is not None: diff --git a/src/agents/research/agents/reporting_agent.py b/src/agents/research/agents/reporting_agent.py index 346dcbac6..a0af3d800 100644 --- a/src/agents/research/agents/reporting_agent.py +++ b/src/agents/research/agents/reporting_agent.py @@ -573,7 +573,7 @@ def extract_citation_number(cit_id): parts_list = cit_id.replace("CIT-", "").split("-") if len(parts_list) == 2: return (1, int(parts_list[0]), int(parts_list[1])) - except: + except Exception: pass return (999, 999, 999) @@ -947,7 +947,7 @@ def extract_citation_number(cit_id): parts_list = cit_id.replace("CIT-", "").split("-") if len(parts_list) == 2: return (1, int(parts_list[0]), int(parts_list[1])) - except: + except Exception: pass return (999, 999, 999) diff --git a/src/api/routers/knowledge.py b/src/api/routers/knowledge.py index 1219239f2..e9e38dc73 100644 --- a/src/api/routers/knowledge.py +++ b/src/api/routers/knowledge.py @@ -700,7 +700,7 @@ async def websocket_progress(websocket: WebSocket, kb_name: str): age_seconds = (now - progress_time).total_seconds() if age_seconds < 300: # 5 minutes should_send = True - except: + except Exception: pass if should_send: @@ -738,13 +738,13 @@ async def websocket_progress(websocket: WebSocket, kb_name: str): logger.debug(f"Progress WS error: {e}") try: await websocket.send_json({"type": "error", "message": str(e)}) - except: + except Exception: pass finally: await broadcaster.disconnect(kb_name, websocket) try: await websocket.close() - except: + except Exception: pass diff --git a/src/api/utils/task_id_manager.py b/src/api/utils/task_id_manager.py index 28387bf22..ed68145c8 100644 --- a/src/api/utils/task_id_manager.py +++ b/src/api/utils/task_id_manager.py @@ -90,7 +90,7 @@ def cleanup_old_tasks(self, max_age_hours: int = 24): finished_time = datetime.fromisoformat(finished_at) if finished_time < cutoff: to_remove.append(task_id) - except: + except Exception: pass for task_id in to_remove: diff --git a/src/knowledge/start_kb.py b/src/knowledge/start_kb.py index fe68a429b..373f76aba 100644 --- a/src/knowledge/start_kb.py +++ b/src/knowledge/start_kb.py @@ -60,7 +60,7 @@ def list_knowledge_bases(): print( f" - RAG: {'Initialized' if stats.get('rag_initialized') else 'Not initialized'}" ) - except: + except Exception: pass print("=" * 60 + "\n") diff --git a/src/logging/adapters/lightrag.py b/src/logging/adapters/lightrag.py index 2e076e3c1..53f1c2897 100644 --- a/src/logging/adapters/lightrag.py +++ b/src/logging/adapters/lightrag.py @@ -123,7 +123,7 @@ def LightRAGLogContext(logger_name: Optional[str] = None, scene: Optional[str] = debug_logger.debug( f"Setting up LightRAG log forwarding (scene={scene}, logger_name={logger_name})" ) - except: + except Exception: pass # Ignore if logger setup fails # Determine logger name @@ -174,7 +174,7 @@ def LightRAGLogContext(logger_name: Optional[str] = None, scene: Optional[str] = try: test_msg = "LightRAG log forwarding enabled" lightrag_logger.info(test_msg) - except: + except Exception: pass # Ignore test log errors try: diff --git a/src/logging/logger.py b/src/logging/logger.py index 1dab05f6f..09b5d4252 100644 --- a/src/logging/logger.py +++ b/src/logging/logger.py @@ -458,7 +458,7 @@ def log_tool_call( else str(tool_input) ) self.debug(f"Tool Input: {input_str[:500]}...") - except: + except Exception: pass if tool_output is not None: try: @@ -468,7 +468,7 @@ def log_tool_call( else str(tool_output) ) self.debug(f"Tool Output: {output_str[:500]}...") - except: + except Exception: pass def log_llm_input( diff --git a/src/tools/tex_downloader.py b/src/tools/tex_downloader.py index 1035a34cc..08673078f 100644 --- a/src/tools/tex_downloader.py +++ b/src/tools/tex_downloader.py @@ -141,7 +141,7 @@ def _is_tar_file(self, file_path: Path) -> bool: try: with tarfile.open(file_path, "r:*") as tar: return True - except: + except Exception: return False def _is_zip_file(self, file_path: Path) -> bool: @@ -149,7 +149,7 @@ def _is_zip_file(self, file_path: Path) -> bool: try: with zipfile.ZipFile(file_path, "r") as zip_file: return True - except: + except Exception: return False def _extract_tar(self, tar_path: Path, extract_dir: Path): @@ -204,7 +204,7 @@ def _find_main_tex(self, directory: Path) -> Path | None: content = tex_file.read_text(encoding="utf-8", errors="ignore") if r"\documentclass" in content: return tex_file - except: + except Exception: continue # 3. Return largest tex file