Функсияи catch
Функсияи catch як қисми блоки try-catch мебошад ва барои гирифтани истисноҳое, ки дар блоки try партофта шуда метавонанд, хидмат мекунад. Дар сурати рух додани истисно, иҷрои рамз ба блоки мувофиқи catch гузашта метавонад, ки дар он ҷо хатогиро кор кардан мумкин аст.
Синтаксис
try {
// Рамзе, ки метавонад истисно партояд
} catch (ExceptionType $e) {
// Коркарди истисно
}
Намуна
Намунаи содаи коркарди истисно:
<?php
try {
throw new Exception('Something went wrong');
} catch (Exception $e) {
echo 'Caught exception: ' . $e->getMessage();
}
?>
Натиҷаи иҷрои рамз:
'Caught exception: Something went wrong'
Намуна
Коркарди намудҳои гуногуни истисно:
<?php
try {
if (rand(0, 1)) {
throw new InvalidArgumentException('Invalid argument');
} else {
throw new RuntimeException('Runtime error');
}
} catch (InvalidArgumentException $e) {
echo 'Invalid argument: ' . $e->getMessage();
} catch (RuntimeException $e) {
echo 'Runtime error: ' . $e->getMessage();
} catch (Exception $e) {
echo 'Generic exception: ' . $e->getMessage();
}
?>
Натиҷаҳои имконпазири иҷрои рамз:
'Invalid argument: Invalid argument'
ё
'Runtime error: Runtime error'