Skip to content

LGTM.com - false positive - illegal raise of NoneType #6573

Open
@DimitriPapadopoulos

Description

@DimitriPapadopoulos

Description of the false positive

        if not available_handlers:
            [...]
            raise RuntimeError(...)

        last_exception = None
        for handler in available_handlers:
            try:
                [...]
                return
            except Exception as exc:
                [...]
                last_exception = exc
        [...]
        raise last_exception  # type: ignore[misc]

LGTM complains that last_exception can be None:

Illegal class 'NoneType' raised; will result in a TypeError being raised instead.

This can happen only if the list available_handlers the loop iterates over is empty. We make sure available_handlers is not empty just before the loop.

URL to the alert on the project page on LGTM.com

https://lgtm.com/projects/g/pydicom/pydicom/snapshot/283a1a1994d3d01b4d1e1fb3959c4de35c3240a8/files/pydicom/dataset.py?sort=name&dir=ASC&mode=heatmap#xe8b0c26a5a33f9bc:1

https://lgtm.com/projects/g/pydicom/pydicom/snapshot/283a1a1994d3d01b4d1e1fb3959c4de35c3240a8/files/pydicom/dataset.py?sort=name&dir=ASC&mode=heatmap#x945aebd0a835900:1

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions