diff --git a/python/src/com/jetbrains/python/inspections/PyExceptionInheritInspection.java b/python/src/com/jetbrains/python/inspections/PyExceptionInheritInspection.java index bb41d93b8c6c..5019e19f0ff1 100644 --- a/python/src/com/jetbrains/python/inspections/PyExceptionInheritInspection.java +++ b/python/src/com/jetbrains/python/inspections/PyExceptionInheritInspection.java @@ -49,7 +49,7 @@ public class PyExceptionInheritInspection extends PyInspection { PyClass aClass = (PyClass) psiElement; for (PyClassRef pyClass : aClass.iterateAncestors()) { final String name = pyClass.getClassName(); - if ("BaseException".equals(name) || "Exception".equals(name)) { + if (name == null || "BaseException".equals(name) || "Exception".equals(name)) { return; } } diff --git a/python/testData/inspections/PyExceptionInheritInspection/test.py b/python/testData/inspections/PyExceptionInheritInspection/test.py index df9883b912cb..652bb121cdb4 100644 --- a/python/testData/inspections/PyExceptionInheritInspection/test.py +++ b/python/testData/inspections/PyExceptionInheritInspection/test.py @@ -10,4 +10,12 @@ def test_basic(): class D(C, Exception): pass - raise D() \ No newline at end of file + raise D() + + +# PY-5811 +def test_unknown_type_exception(): + Unknown = None + class C(Unknown): pass + + raise C()