Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Exceptions в Symfony3
acerrusm  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 139
Пользователь №: 39635
На форуме: 2 года, 6 месяцев, 18 дней
Карма:




Привет.

Собственно вот какое дело:

Разобрался с перехватом стандартных в Symfony3 исключениями, типо 404, 403, 500,... и тд.

Например если страница не найдена, то выкидываю такое исключение:
throw $this->createNotFoundException('Page not found');


Однако, я не могу понять как нужно правильно создавать кастомные исключения, что бы было что то вроде:

throw $this->myCustomException('Wrong password');


Угробил весь день, но так и не понял. Создавал Event Listener, но там все равно не то.

Я конечно могу создать топорным способом, но чувствую, что в Symfony это можно сделать как то по другому.

Так как же все таки создавать кастомные исключения в Symfony3?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11785
Пользователь №: 23195
На форуме: 6 лет, 4 месяца, 11 дней
Карма: 429

Трезвый :
7 лет, 3 месяца, 11 дней


причем тут Symfony? исключения - механизм языка, а не фреймворка


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
acerrusm  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 139
Пользователь №: 39635
На форуме: 2 года, 6 месяцев, 18 дней
Карма:




Цитата (Invis1ble @ 3.12.2015 - 18:35)
причем тут Symfony? исключения - механизм языка, а не фреймворка

При том, что в Symfony они хз как прописаны. Там же есть какие то рекомендации как, где и что нужно писать. Например в папке config все конфигурационные файлы и тд.

Можно конечно захреначить в папке src директорию Exceptions и свалить туда все кастомные исключения. Только вот потом сядет другой человек и будет рвать на себе волосы.

Вопрос не в том как работают исключения, а как их прописывать в соответствии с фреймворком.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11785
Пользователь №: 23195
На форуме: 6 лет, 4 месяца, 11 дней
Карма: 429

Трезвый :
7 лет, 3 месяца, 11 дней


Цитата (acerrusm @ 3.12.2015 - 21:52)
При том, что в Symfony они хз как прописаны.

нормально они там "прописаны"

Цитата (acerrusm @ 3.12.2015 - 21:52)
Там же есть какие то рекомендации как, где и что нужно писать.

отлично, вот и почитай их


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
acerrusm  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 139
Пользователь №: 39635
На форуме: 2 года, 6 месяцев, 18 дней
Карма:




Цитата (Invis1ble @ 3.12.2015 - 20:08)


Цитата (acerrusm @ 3.12.2015 - 21:52)
Там же есть какие то рекомендации как, где и что нужно писать.

отлично, вот и почитай их

Я так понимаю тебе по делу сказать нечего, тогда проходи мимо
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Guest  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









Что-бы вот так можно было делать
throw $this->myCustomException('Wrong password');

нужно создать базовый контроллер, унаследованный от Symfony\Bundle\FrameworkBundle\Controller\Controller и запрограммировать в нем метод myCustomException(). И потом все контроллеры наследовать от этого нового базового контроллера.

Обычно вместо этого исключения кидают так:
throw new MyCustomException('Wrong password');

Складывают классы исключений обычно в папку %BundleName%\Exception (внезапно!).
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
acerrusm  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 139
Пользователь №: 39635
На форуме: 2 года, 6 месяцев, 18 дней
Карма:




Цитата (Guest @ 3.12.2015 - 21:38)
Что-бы вот так можно было делать
throw $this->myCustomException('Wrong password');

нужно создать базовый контроллер, унаследованный от Symfony\Bundle\FrameworkBundle\Controller\Controller и запрограммировать в нем метод myCustomException(). И потом все контроллеры наследовать от этого нового базового контроллера.

Обычно вместо этого исключения кидают так:
throw new MyCustomException('Wrong password');

Складывают классы исключений обычно в папку %BundleName%\Exception (внезапно!).

Спасибо! Только я класс MyCustomException унаследовал от \Exception:

namespace AppBundle\Exception;

class MyCustomException extends \Exception
{

}
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса