Exception handling allows developers to deal with unexpected situations that may occur in a program.
Throwing Exceptions
When a function encounters a situation that it cannot recover from, it can generate an exception to signal the caller that the function has failed. This is done using the throw keyword followed by whatever it is the function wants to signal. When this statement is reached, the function will stop executing and the exception will propagate up to the caller where it can be caught, using a try-catch statement.