Název metody vracející exception handler

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
besir
Člen | 170
+
0
-

Ahoj,
v práci s kolegou řešíme menší problém v konvenci. Máme metodu co vrací exception, její název je sice vypovídající, ale chtěli bychom se vyhnout mít v metodě název handle viz. kod níže..

Napadá Vás nějaký rozumnější název?

	...
	catch (\Exception $exception)
		{
			$this->handleException($exception);
		}
	}

	/**
	 * Exception handler
	 * @author
	 * @param \Exception $exception
	 * @return void
	 */
	private function handleException(\Exception $exception)
	{
		if (get_class($exception) === 'Nette\\Application\\AbortException')
		{
			throw $exception;/** @internal Used by Nette for different response type */
		}

		$this->sendResponse(new \Nette\Application\Responses\JsonResponse(array(
					'status' => 'ERROR',
					'code' => $exception->getCode(),
					'message' => $exception->getMessage(),
					'type' => get_class($exception),
				)));
	}
Vojtěch Dobeš
Gold Partner | 1316
+
0
-
$this->fail($e);
besir
Člen | 170
+
0
-

Když on to vlastně fail také neni :-/ Tak jsme se shodli na nazvu exceptionHandler :D a spokojeny jsme oba :D

Editoval besir (21. 9. 2012 16:01)

paranoiq
Člen | 392
+
0
-

jméno metody by vždy mělo začínat slovesem

besir
Člen | 170
+
0
-

njn, ale nic jiného nás nenapadlo :D

paranoiq
Člen | 392
+
0
-

processException? manageException?

Filip Procházka
Moderator | 4668
+
0
-

handle je taky sloveso :P byť nevhodné

duke
Člen | 650
+
0
-

Co třeba resolveException?

studna
Člen | 181
+
0
-

A co třebaa.. reportError(či Exception) nebo sendError. Pak je jasnější, co se uvnitř děje..no ne? :)

Filip Procházka
Moderator | 4668
+
0
-

Abych se vrátil k původnímu tématu..

use Nette\Application\Responses\JsonResponse;
use Nette\Diagnostics\Debugger;

class MyPresenter extends BasePresenter
{
	protected function startup()
	{
		parent::startup();
		$httpResponse = $this->getHttpResponse();
		$this->application->onError[] = function ($app, \Exception $e) use ($httpResponse) {
			Debugger::log($e);
			$httpResponse->setCode(500);
			$httpResponse->setContentType('application/json');
			echo Nette\Utils\Json::encode(array(
                                'status' => 'ERROR',
                                'code' => $e->getCode(),
                                'message' => $e->getMessage(),
                                'type' => get_class($e),
                        ));
			exit;
		};
	}
}

Popřemýšlel bych, jestli je vracení obsahu výjimky dobrý nápad.

Editoval HosipLan (22. 9. 2012 16:56)