Inspectopedia Help

Wrong order of 'except' clauses

Reports cases when except clauses are not in the proper order, from the more specific to the more generic, or one exception class is caught twice.

If you do not fix the order, some exceptions may not be caught by the most specific handler.

Example:

try: call() except ValueError: pass except UnicodeError: pass

The IDE recommends moving the clause up. When the quick-fix is applied, the code changes to:

try: call() except UnicodeError: pass except ValueError: pass

Locating this inspection

By ID

Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.

PyExceptClausesOrderInspection
Via Settings dialog

Path to the inspection settings via IntelliJ Platform IDE Settings dialog, when you need to adjust inspection settings directly from your IDE.

Settings or Preferences | Editor | Inspections | Python

Availability

By default bundled with

DataSpell 2024.1, IntelliJ IDEA 2024.1, PyCharm 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin

Python Community Edition, 241.SNAPSHOT

Last modified: 18 June 2024