https://www.procodeplan.com/2023/08/how-to-create-custom-exception-in-java.html