Що нового в php7.1: робота з групою винятків.
Відео: [PHP] Винятки (Урок 27)
Всім привіт! У цій статті ми розглянемо, як працювати з групою винятків в PHP 7.1.
Давайте розглянемо такий код:
Відео: ООП для початківців PHP. Винятки (Exceptions)
classOneExceptionextendsException{}
classTwoExceptionextendsException{}
classThreeExceptionextendsException{}
classFourExceptionextendsException{}
classFive{
publicfunction func($ id){
if(true){
thrownewOneException-
}else{
thrownewFourException-
}
}
}
$ object =newFive-
$ error =null-
try{
$ object-gt;func(`123`) -
}catch(OneException $ e){
$ error =`Вибачте, сталася помилка`-
}catch(TwoException $ e){
$ error =`Вибачте, сталася помилка`-
}catch(ThreeException $ e){
$ error =`Вибачте, сталася помилка`-
}catch(FourException $ e){
$ error =`Неправильно введений ідентифікатор`-
}
exit(`Перенаправлення з помилкою:`.$ error) -
Як можна бачити в коді вище, він надмірний. Але ж ми просто робимо наступне: створюємо об`єкт класу Five і викликаємо його метод з потрібним параметром. Якщо у нас буде виняток номер 1, 2 або 3, то пишемо одне повідомлення. Якщо ж виняток номер 4, то - ще одне повідомлення.
Щоб скоротити код і зробити його більш зрозумілим, в PHP 7.1 було зроблено наступне поліпшення: ми тепер можемо писати виключення через пряму паличку :) Тобто тепер ми можемо переписати наш код ось так:
try{
$ object-gt;func(`123`) -
}catch(OneException|TwoException|ThreeException $ e){
$ error =`Вибачте, сталася помилка`-
}catch(FourException $ e){
$ error =`Неправильно введений ідентифікатор`-
}
Код став помітно менше, але функціонал залишився тим же. Якщо ви його запустите, то отримаєте перше повідомлення. Якщо ж ви тепер в методі поміняєте true на false, то отримаєте друге повідомлення.
Відео: Урок 15. PHP - ООП. Оброблювач помилок (error handler). Винятки (exceptions)
Ось така проста дрібниця, але тепер робота з PHP стала набагато приємніше, швидше і легше.
Дякую за увагу!
- Команда eventcreate - запис повідомлення в журнал подій windows
- Monsters u: catch archie
- Rapala fishing - daily catch
- У додатку android process media сталася, як виправити
- Cpu fan error press f1 resume - як виправити помилку
- Синій екран смерті 0x00000124
- Com.google.process.gapps, процес зупинений, сталася помилка, що робити?
- Що робити, якщо з`являється помилка cmos checksum error?
- Що нового в php7.1: нові повідомлення про помилки.
- Що таке обіцянки в es6.
- Помилка apt-get command not found
- Pdo. Частина 3.
- Помилка 7 при прошивці через рекавери (twrp, cwm recovery)
- Створення винятків в php
- Обробка винятків в jаvascript
- Can not modify header information - headers already sent
- Винятки в php
- Помилка 629
- Створення движка на mvc. Допрацьовуємо роутер.
- Unable to connect to the database в joomla
- Function fetch_assoc () on a non-object