گرفتن (catch)
«گرفتن (catch)» خطاهای برنامه را می گیرد. «استثنا (Exception)» یعنی خطای ویژه. کد خطا را در «try» می نویسیم. سپس با «catch» خطا را می گیریم و مدیریت می کنیم. مثل وقتی توپ از دستت می افتد و سریع می گیری.
تعریف ساده گرفتن catch
کلیدواژه catch خطاهای پرتاب شده در بلوک «try» را می گیرد. سپس پیام مناسب نشان می دهد یا کار جایگزین انجام می دهد.
مثال پایه از منبع
<?php
try {
throw new Exception("This is an exception");
} catch (Exception $e) {
echo $e->getMessage();
}
?>
گام های عملی
- کدی که ممکن است خطا دهد، داخل
tryبگذار. - یک
catchبا نوع استثنا بنویس. - پیام خطا را با
getMessage()چاپ کن.
catch برای چند نوع استثنا
<?php
try {
$rand = rand(0, 2);
switch ($rand) {
case 0:
throw new Exception();
break;
case 1:
throw new OutOfBoundsException();
break;
case 2:
throw new LogicException();
break;
}
} catch (OutOfBoundsException $e) {
echo "Caught an out of bounds exception";
} catch (LogicException $e) {
echo "Caught a logic exception";
} catch (Exception $e) {
echo "Caught an ordinary exception";
}
?>
نکته: ترتیب catchها مهم است؛ از خاص به عام بنویس.
نکته: برای پایان کار تمیز می توانی از finally استفاده کنی.
بیشتر بخوان: try، throw، و لینک خود صفحه گرفتن catch برای تمرین بیشتر.
جمع بندی سریع
catchفقط خطاهای پرتاب شده را می گیرد.- نوع درست استثنا را مشخص کن.
- ترتیب از خاص به عام بنویس.
finallyبرای جمع کردن کارها عالی است.