Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 18.11.2017 16:51:44

htclog81
Откуда: Москва
Сообщений: 192
Сайт

Проблема с выводом исключения

	try {
		  $user->newSubscription(Config::get('services.subscription.name'), $plan->braintree_plan)
		  ->create($request->payment_method_nonce, [
			'email' => $user->email,
		  ]);
		  
		} catch (\Exception $e) {
			return redirect()->route('home.upgrade')->with('status', $e->getMessage());
		}

Внутри  try происходит исключение. Но в $e->getMessage() оно в каком то урезанном не информативном виде. только содержимое поле #msg а как более подробно вывести?

Не в сети

#2 18.11.2017 17:05:10

htclog81
Откуда: Москва
Сообщений: 192
Сайт

Re: Проблема с выводом исключения

Хотя бы тип исключения показать... И строку и стек вызовов. В дальнейшем можно сделать условие что бы это показывалось только на тестовом сервере, а на боевом писалось в лог.

Не в сети

#3 18.11.2017 21:11:49

Re: Проблема с выводом исключения

Читать документацию не пробовал?

http://php.net/manual/ru/class.exception.php
http://php.net/manual/ru/book.classobj.php

try {
...
} catch (\Exception $e) {

Похоже, мои предыдущие рассуждения на тему исключений PHP 5.x/7.x ты пропустил мимо ушей.

Не в сети

#4 19.11.2017 09:33:24

htclog81
Откуда: Москва
Сообщений: 192
Сайт

Re: Проблема с выводом исключения

try {...} catch (\Exception $e) {

Это очевидно, я же так и написал сейчас...

Не в сети

#5 19.11.2017 09:33:46

htclog81
Откуда: Москва
Сообщений: 192
Сайт

Re: Проблема с выводом исключения

try {...} catch (\Exception $e) {

Это очевидно, я же так и написал сейчас...

Да только сейчас читаю..

Не в сети

#6 19.11.2017 11:04:58

htclog81
Откуда: Москва
Сообщений: 192
Сайт

Re: Проблема с выводом исключения

Правильно ли я понимаю, что в 7-ке достаточно писать так:

try
{
   // Code that may throw an Exception or Error.
}
catch (Throwable $t)
{
   // Executed only in PHP 7, will not match in PHP 5
}

И тогда поймаются и php ошибки и исключения которые скажем в коде пакета выбрасываются как throw new SomeException() ??

Не в сети

Подвал раздела