کلاس Exception در php :
کلاس Exception در زبان برنامهنویسی PHP یک کلاس پایه است که قابلیت ارثبری دارد و برای نمایش خطاهای مربوط به اجرای برنامه استفاده میشود. این کلاس در فضاینام global قرار دارد و بنابراین میتوان از آن در هر نقطهای از برنامه استفاده کرد.
در PHP، وقتی یک خطای اجرای برنامه رخ میدهد، یک شی از کلاس Exception ایجاد میشود و اطلاعات مربوط به خطا در این شی ذخیره میشود. این اطلاعات شامل نام خطا، پیغام خطا و خطای رخ داده است. در ادامه، این شی میتواند به صورت دستی پرتاب شود تا برنامهنویس بتواند با خطای رخ داده برخورد کند و برنامه را به شکل مناسب مدیریت کند.
برای پرتاب یک خطا، ابتدا یک شی از کلاس Exception ایجاد میشود و سپس با استفاده از کلیدواژه throw، شی مربوطه پرتاب میشود. برای مدیریت خطاها، برنامهنویس میتواند از کلیدواژه try-catch استفاده کند. در بلاک try، قطعه کدی که ممکن است خطا رخ دهد، قرار میگیرد و در بلاک catch، کدی که برای مدیریت خطا استفاده میشود، قرار میگیرد. در بلاک catch، شی مربوط به خطا به عنوان ورودی گرفته میشود و کدهایی برای مدیریت خطا اجرا میشود.
علاوه بر بلاک catch، برنامهنویس میتواند از بلاک finally نیز استفاده کند. بلاک finally برای اجرای کدهایی که باید در هر صورت اجرا شوند، مانند آزادسازی منابع، استفاده میشود. این بلاک بعد از بلاک catch قرار میگیرد و همواره اجرا میشود، بدون توجه به اینکه آیا خطا رخ داده است یا خیر.
به عنوان مثال، فرض کنید یک تابعی داریم که دو عدد را به عنوان ورودی دریافت میکند و درخواست جمع آنها را اجرا میکند. اگر دو عدد دریافتی صحیح نباشند، میتوانیم یک خطا را پرتاب کنیم. در این صورت، بلاک catch میتواند خطا را مدیریت کرده و پیغام مناسبی به کاربر نمایش دهد.
“`php
function sum($num1, $num2) {
if (!is_int($num1) || !is_int($num2)) {
throw new Exception(“Invalid input: both inputs must be integers”);
}
return $num1 + $num2;
}
try {
echo sum(5, “10”);
} catch (Exception $e) {
echo “Error: ” . $e->getMessage();
} finally {
echo “This code will always run”;
}
“`
در مثال بالا، تابع sum دو عدد را دریافت میکند و در صورتی که هر دو عدد صحیح نباشند، یک خطا از نوع Exception پرتاب میشود. در بلاک catch، پیغام خطا به کاربر نمایش داده میشود و در بلاک finally، کدی برای آزادسازی منابع یا اجرای عملیاتی دیگر نوشته میشود.
بنابراین، استفاده از کلاس Exception در PHP به برنامهنویسان این امکان را میدهد که خطاهای اجرای برنامه را به صورت مناسب مدیریت کنند و برنامه را از بروز خطاهای ناخواسته محافظت کنند.