Built-in exceptions cover a wide range of situations. Sometimes, however, you may need to define a custom exception to fit your specific application situation; for example, a RecipeNotValidError exception for when a recipe is not valid in your cooking app.
In this case, Python contains the ability to add custom errors by extending the base Exception class.
Exceptions should be named with names ending with the word Error. Let's create the RecipeNotValidError we talked about previously as a custom exception:
class RecipeNotValidError(Exception): def __init__(self): self.message = "Your recipe is not valid" try: raise RecipeNotValidError except RecipeNotValidError as e: print(e.message)
The custom exception class should just contain a few attributes that will help the user get more information about what error occurred. Our sample implementation has the message attribute, which we have used to get details on the error message...