When reading about ISP, I keep running into examples where a class implementing an interface has a method that throws some type of not-implemented exception. Isn't this also a violation of LSP?
However, if ISP always comes down to cases where you have unsupported methods then you're always violating LSP at the same time making ISP redundant.
I'm guessing I'm missing something, so can someone provide a clear example where you're violating ISP and not violating LSP?
I'm guessing the answer might be related to the exact meaning of "no client should depend on methods it doesn't use". What is meant by client here? Is it a class that implements the interface or a class that has access to an object implementing that interface and may make calls on it?