Що нового в php7.1: робота з групою винятків.

Відео: [PHP] Винятки (Урок 27)

Що нового в PHP7.1: робота з групою винятків.

Всім привіт! У цій статті ми розглянемо, як працювати з групою винятків в 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 стала набагато приємніше, швидше і легше.

Дякую за увагу!

Поділися в соціальних мережах:

Схожі
Андроїд: помилка 498Андроїд: помилка 498
Monsters u: catch archieMonsters u: catch archie
Синій екран смерті 0x00000124Синій екран смерті 0x00000124
Function fetch_assoc () on a non-objectFunction fetch_assoc () on a non-object
Створення движка на mvc. Допрацьовуємо роутер.Створення движка на mvc. Допрацьовуємо роутер.
Помилка 629Помилка 629
Помилка apt-get command not foundПомилка apt-get command not found
Що нового в php7.1: нові повідомлення про помилки.Що нового в php7.1: нові повідомлення про помилки.
Що таке обіцянки в es6.Що таке обіцянки в es6.
Створення винятків в phpСтворення винятків в php
» » Що нового в php7.1: робота з групою винятків.