Martina w artykule „Principles of Object Oriented Design" oraz książce „Agile Software Development: Principles, Patterns, and Practices". Przykład naruszenia zasady
Załóżmy, że mamy klasę abstrakcyjną (lub interfejs) MediaAbstract zawierającą m.in. metody getTitle() oraz toPdf(). Załóżmy, że chcemy dziedziczyć tę klasę w klasach Article oraz Movie. Klasa Article może prawidłowo zaimplementować te metody, ale klasa Movie nie „ma jak" wygenerować pdf więc w implementacji metody toPdf() rzuca wyjątek „Z filmu nie da się wygenerować pdf".
Jest to naruszenie zasady podstawienia Liskov, ponieważ zewnętrzny kod, który operuje na obiektach MediaAbstract, w trakcie normalnej pracy na nich, nagle zatrzyma się i wyrzuci wyjątek, gdy natrafi na obiekt typu Movie. Naprawa może powodować konieczność obsłużenia wyjątku w zewnętrznym kodzie, a więc wymusi jego zmianę (od czego ma chronić właśnie stosowanie zasady Liskov).
Jednym z możliwych rozwiązań tego problemu jest np. wydzielenie z klasy/interfejsu MediaAbstract metody toPdf() do osobnej klasy/interfejsu PdfExportable.