I have a base class for some plugin-style stuff, and there are some methods that are absolutely required to be implemented.

I currently declare those in the base class as virtual, for example

public virtual void Save
{
    throw new NotImplementedException();
}

and in the descendand I have a

public override void Save()
{
    //do stuff
}

Is it a good practice to throw a NotImplementedException there? The descendand classes could for example be the modules for handling different file formats. Thanks

Edit
Report