mirror of
https://github.com/astral-sh/ruff.git
synced 2025-11-01 20:31:57 +00:00
|
Some checks are pending
CI / Determine changes (push) Waiting to run
CI / cargo fmt (push) Waiting to run
CI / cargo clippy (push) Blocked by required conditions
CI / cargo test (linux) (push) Blocked by required conditions
CI / cargo test (linux, release) (push) Blocked by required conditions
CI / cargo test (windows) (push) Blocked by required conditions
CI / cargo test (wasm) (push) Blocked by required conditions
CI / cargo build (release) (push) Waiting to run
CI / cargo build (msrv) (push) Blocked by required conditions
CI / cargo fuzz build (push) Blocked by required conditions
CI / fuzz parser (push) Blocked by required conditions
CI / test scripts (push) Blocked by required conditions
CI / ecosystem (push) Blocked by required conditions
CI / Fuzz for new ty panics (push) Blocked by required conditions
CI / cargo shear (push) Blocked by required conditions
CI / python package (push) Waiting to run
CI / pre-commit (push) Waiting to run
CI / mkdocs (push) Waiting to run
CI / formatter instabilities and black similarity (push) Blocked by required conditions
CI / test ruff-lsp (push) Blocked by required conditions
CI / check playground (push) Blocked by required conditions
CI / benchmarks-instrumented (push) Blocked by required conditions
CI / benchmarks-walltime (push) Blocked by required conditions
[ty Playground] Release / publish (push) Waiting to run
## Summary
This PR enhances the `BLE001` rule to correctly detect blind exception
handling in tuple exceptions. Previously, the rule only checked single
exception types, but Python allows catching multiple exceptions using
tuples like `except (Exception, ValueError):`.
## Test Plan
It fails the following (whereas the main branch does not):
```bash
cargo run -p ruff -- check somefile.py --no-cache --select=BLE001
```
```python
# somefile.py
try:
1/0
except (ValueError, Exception) as e:
print(e)
```
```
somefile.py:3:21: BLE001 Do not catch blind exception: `Exception`
|
1 | try:
2 | 1/0
3 | except (ValueError, Exception) as e:
| ^^^^^^^^^ BLE001
4 | print(e)
|
Found 1 error.
```
|
||
|---|---|---|
| .. | ||
| airflow | ||
| control-flow-graph | ||
| eradicate | ||
| fastapi | ||
| filesystem | ||
| flake8_2020 | ||
| flake8_annotations | ||
| flake8_async | ||
| flake8_bandit | ||
| flake8_blind_except | ||
| flake8_boolean_trap | ||
| flake8_bugbear | ||
| flake8_builtins | ||
| flake8_commas | ||
| flake8_comprehensions | ||
| flake8_datetimez | ||
| flake8_debugger | ||
| flake8_django | ||
| flake8_errmsg | ||
| flake8_executable | ||
| flake8_fixme | ||
| flake8_future_annotations | ||
| flake8_gettext | ||
| flake8_implicit_str_concat | ||
| flake8_import_conventions | ||
| flake8_logging | ||
| flake8_logging_format | ||
| flake8_no_pep420 | ||
| flake8_pie | ||
| flake8_print | ||
| flake8_pyi | ||
| flake8_pytest_style | ||
| flake8_quotes | ||
| flake8_raise | ||
| flake8_return | ||
| flake8_self | ||
| flake8_simplify | ||
| flake8_slots | ||
| flake8_tidy_imports | ||
| flake8_todos | ||
| flake8_type_checking | ||
| flake8_unused_arguments | ||
| flake8_use_pathlib | ||
| flynt | ||
| isort | ||
| mccabe | ||
| numpy | ||
| pandas_vet | ||
| pep8_naming | ||
| perflint | ||
| pycodestyle | ||
| pydoclint | ||
| pydocstyle | ||
| pyflakes | ||
| pygrep_hooks | ||
| pylint | ||
| pyupgrade | ||
| refurb | ||
| ruff | ||
| syntax_errors | ||
| tryceratops | ||
| __init__.py | ||