/** * Pass #29: broad-catch (CWE-396, category: reliability) * * Detects catch clauses that catch a base exception type (Exception, * Throwable, BaseException) rather than the specific subtypes the code * can handle. Broad catches suppress unexpected errors, make bugs harder * to find, and can inadvertently catch serious errors (OutOfMemoryError, * StackOverflowError) that should not be swallowed. * * Detection strategy: * 1. Build an ExceptionFlowGraph to locate catch handler entry lines. * 2. Check the source text of each catch line for broad-catch patterns. * * Languages: Java, Python only. * - JS/TS: no typed catch clauses; not applicable. * - Rust/Bash: no traditional exceptions; skip. */ import type { AnalysisPass, PassContext } from '../../graph/analysis-pass.js'; export interface BroadCatchResult { broadCatches: Array<{ line: number; type: string; }>; } export declare class BroadCatchPass implements AnalysisPass { readonly name = "broad-catch"; readonly category: "reliability"; run(ctx: PassContext): BroadCatchResult; } //# sourceMappingURL=broad-catch-pass.d.ts.map