سلام و احترام
exceptionی که شما throw میکنید در اصل شما new ازش میگیرید ینی اینکه یه object از اون رو throw میکنید و شما با استفاده از catch و نوع exception ورودیتون اون آبجکت رو دریافت میکنید و متدهایی که داخلش داره رو میتونید صدا بزنید مثل getMessage
و حالت استثنایی که گفتید هم درسته که خطایی رخ داده