کاربر throw new Exception در کل اینطوریه که باهاش بتونیم یک پیام دخواه رو به بلاک مرتبط catch بدهیم، درست متوجه شدم اینو یا خیر؟
سلام اگر اشتباه نکرده باشم این یک exeption رو میسازه و پرتاب میکنه.
برای ساخت exeption استفاده میشه.
میثم۰۴ تیر ۱۳۹۹، ۰۸:۲۵
سلام.
throw که میکنید اکسپشنی پرتاب میشه، اینجا باید catch ای مرتبط با exception باشه که اکسپشنو بگیره وگرنه خطای Uncaught exception دریافت میکنید.
اگر catch ای برای قسمتی از کد در نظر نگیرید باز هم میتونید throw کنید و بجای catch میتونید با set_exception_handler اکسپشنها رو دریافت و مدیریت کنید.
در فریمورکها در کنار try/catchها ازین تابع هم استفاده شده.
بهترین پاسخ
محسن موحد۰۵ تیر ۱۳۹۹، ۱۸:۱۳
سلام.
یکی از کاربردهاش اینه که میتونید باهاش Exeptionهای اختصاصی خودتون رو throw بکنید و این Exeptionها لزوما یک ایراد منطقی یا از پیش تعریف شده نیست.
بهتر بخوام بگم ممکنه تو الگوریتمی که شما برای خودتون توسعه دادید مثلا دوست داشته باشید کاربر با سن زیر 18 سال نتونه به قسمتی دسترسی داشته باشه.
اگر کاربر بخواد به اون قسمت دسترسی پیدا کنه مثلا میتونید یه OutOfAgeBoundExeption که خودتون تعریفش کردین پرتاب بکنید. این مورد از نظر شما و طبق الگوریتم شما یک Exeption تلقی میشه ولی از نظر زبان PHP یک Exeption نیست.
ممکنه مثال خیلی درستی نزده باشم. بیشتر هدفم بیان کاربرد خاصی از پرتاب اکسپشن جدید بود.