Exceptions are ways of telling the application, users or log (or wherever you read them out) that something went wrong and if you do it correctly, what went wrong.
Usually you can pass a message and a type of Exception.
In PHP it doesn't even HAVE TO be an Exception since an Exception is part of Throwable which is ANYTHING that PHP can throw.
Throwables implement stringable so they can be casted to string.
Throwable refers to ANYTHING that can be thrown in PHP which in this case is split into Error and Exception.
Its made up of at least message and code, message reffering to the Thrown message and code being the HTTP error code that would be thrown if it bubbles up all the way to the user.
Errors refer to any internal PHP Errors, those being:
You can technically throw them yourself but they're usually thrown by PHP itsself when you goof something up.
Exceptions refer to any user made Exception, theres loads of types so I'm not gonna list them but heres a link to the documentation
You can make your own exception for your application.