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
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),
)));
}
- Filip Procházka
- Moderator | 4668
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)