NotImplementedError: Abstract Method

NotImplementedError

Quick Answer

You are calling a method meant to be overridden by a subclass. Implement the method in your subclass.

Why This Happens

NotImplementedError is raised by abstract methods that subclasses must override. Use the abc module for formal abstract base classes that catch missing implementations at instantiation.

The Problem

class Shape:
    def area(self): raise NotImplementedError

class Circle(Shape):
    def __init__(self, r): self.r = r

Circle(5).area()

The Fix

class Shape:
    def area(self): raise NotImplementedError

class Circle(Shape):
    def __init__(self, r): self.r = r
    def area(self):
        import math
        return math.pi * self.r ** 2

Step-by-Step Fix

  1. 1

    Implement the method

    Override the abstract method in your subclass.

  2. 2

    Check all abstract methods

    Look at the base class for all NotImplementedError methods.

  3. 3

    Use ABC

    Use abc.ABC and @abc.abstractmethod for compile-time checks.

Bugsly catches this automatically

Bugsly's AI analyzes this error pattern in real-time, explains what went wrong in plain English, and suggests the exact fix — before your users even report it.

Try Bugsly free