Build a Media Catalogue - Step 14

Tell us what’s happening:

no matter how i fix this code it wont run right it keeps saying the same thing

Your code so far


# User Editable Region

class Movie:
    def __init__(self, title, year, director, duration):
        if not title.strip():
            raise ValueError("Title cannot be empty.")
        if year < 1895:
            raise ValueError("Year must be 1895 or later.")
        if not director.strip():
            raise ValueError("Director cannot be empty.")
        if duration <= 0:
            raise ValueError("Duration must be positive.")

        self.title = title
        self.year = year
        self.director = director
        self.duration = duration

    def __str__(self):
        return f"{self.title} ({self.year}) - {self.duration} min, {self.director}"


class MediaCatalogue:
    def __init__(self):
        self.items = []

    def add(self, media_item):
        self.items.append(media_item)

    def __str__(self):
        if not self.items:
            return "Media Catalogue (empty)"

        result = f"Media Catalogue ({len(self.items)} items):\n\n"
        for i, movie in enumerate(self.items, 1):
            result += f"{i}. {movie}\n"
        return result


    catalogue = MediaCatalogue()

    try:
        movie1 = Movie('The Matrix', 1999, 'The Wachowskis', 136)
        catalogue.add(movie1)
    except ValueError as e:
        print(f"Validation Error: {e}")

    print(catalogue)


# User Editable Region

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0

Challenge Information:

Build a Media Catalogue - Step 14

have you tried putting the print inside the try block?