Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Обработка ошибок MySQLi [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): « 1 [2]   

> Без описания
_Dark_
Отправлено: 07 Февраля, 2013 - 20:06:53
Post Id


Частый гость


Покинул форум
Сообщений всего: 231
Дата рег-ции: Окт. 2011  


Помог: 5 раз(а)

[+]


DelphinPRO пишет:
ну вы можете еще сделать так

О, а это уже интересней, спасибо!

DelphinPRO пишет:
Я немного скомканно объясняю , лучше умную статью почитать, чтобы понять принцип работы исключений, способы их применения и полезность

Нет, нет, "умные" статьи как раз не очень объясняют суть, вот у меня сейчас после этого вашего сообщения с примером что-то прояснятся начало Улыбка

(Отредактировано автором: 07 Февраля, 2013 - 20:07:45)

 
 Top
esterio
Отправлено: 07 Февраля, 2013 - 20:13:46
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




Кстати
http://www.php.net/manual/ru/lan...e.exceptions.php
Цитата:
В PHP 5.5 и более поздних версиях также можно использовать блок finally после блока catch. Код в блоке finally всегда будет выполняться после кода в блоках try и catch, вне зависимости было ли брошено исключение или нет, перед тем как продолжится нормальное выполнение кода. whether an exception has been thrown, and before normal execution resumes.



Ето очен радует
 
 Top
etoYA
Отправлено: 07 Февраля, 2013 - 21:59:44
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




Методов уйма

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. class ErrorController extends Exception{
  4.         private $error;
  5.        
  6.         public function __construct($error){
  7.                 $this->error = $error;
  8.                 switch ($this->error){
  9.                         case '404':
  10.                                 $this->error = 'Ошибка 404';
  11.                                 break;
  12.                         case 'db':
  13.                                 $this->error = mysqli()->error;
  14.                                 break;
  15.                 }
  16.         }
  17.         public function __toString(){
  18.                 return $this->error;
  19.         }
  20. }
  21. ?>
  22.  
 
 Top
_Dark_
Отправлено: 08 Февраля, 2013 - 15:29:24
Post Id


Частый гость


Покинул форум
Сообщений всего: 231
Дата рег-ции: Окт. 2011  


Помог: 5 раз(а)

[+]


Нашел отличные статьи на Хабре, в общем, кажется что-то понял с этими исключениями.
etoYA пишет:
Методов уйма

Как я понял, класс-наследник исключения пустым должен быть, он нужен только для определения типа исключения, логики там быть не должно. Или это не так?
 
 Top
DelphinPRO
Отправлено: 08 Февраля, 2013 - 16:47:15
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




_Dark_ пишет:
Как я понял, класс-наследник исключения пустым должен быть, он нужен только для определения типа исключения, логики там быть не должно. Или это не так?

не обязательно. иногда удобно логику засунуть в наследника \Exception
например, логирование ошибок.
или переопределить __construct для передачи в исключение нужных вам параметров.
+ иногда удобно переопределить магический метод __toString
в общем это решается в каждом отдельном случае индивидуально.
Категорично говорить "логики там быть не должно" нельзя.

(Отредактировано автором: 08 Февраля, 2013 - 16:48:38)



-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
_Dark_
Отправлено: 09 Февраля, 2013 - 20:05:30
Post Id


Частый гость


Покинул форум
Сообщений всего: 231
Дата рег-ции: Окт. 2011  


Помог: 5 раз(а)

[+]


DelphinPRO пишет:
_Dark_ пишет:
Как я понял, класс-наследник исключения пустым должен быть, он нужен только для определения типа исключения, логики там быть не должно. Или это не так?

не обязательно. иногда удобно логику засунуть в наследника \Exception
например, логирование ошибок.
или переопределить __construct для передачи в исключение нужных вам параметров.
+ иногда удобно переопределить магический метод __toString
в общем это решается в каждом отдельном случае индивидуально.
Категорично говорить "логики там быть не должно" нельзя.

Ясно, спасибо, стало гораздо понятней! Улыбка
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Объектно-ориентированное программирование »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB