Question Description
I’m working on a python question and need the explanation and answer to help me learn.
Write a Python program that takes a list of numbers as input and finds the second-largest number in the list. The program should handle cases where there may be duplicates or empty lists.
For example, if the input list is `[10, 5, 7, 3, 7, 8]`, the program should output `8` as the second-largest number.
Remember to include error handling for cases where the input list is empty or contains fewer than two elements.
Your program should consist of a function named `find_second_largest(numbers)` where `numbers` is the list of numbers, and it should return the second-largest number as the result.
Provide both the Python code for this program and a brief explanation of how it works.