@@ -27,7 +27,7 @@ class Application extends Nette\Object
2727	/** @var callable[]  function (Application $sender); Occurs before the application loads presenter */ 
2828	public  $ onStartup
2929
30- 	/** @var callable[]  function (Application $sender, \Exception $e = NULL); Occurs before the application shuts down */ 
30+ 	/** @var callable[]  function (Application $sender, \Exception|\Throwable  $e = NULL); Occurs before the application shuts down */ 
3131	public  $ onShutdown
3232
3333	/** @var callable[]  function (Application $sender, Request $request); Occurs when a new request is received */ 
@@ -39,7 +39,7 @@ class Application extends Nette\Object
3939	/** @var callable[]  function (Application $sender, IResponse $response); Occurs when a new response is ready for dispatch */ 
4040	public  $ onResponse
4141
42- 	/** @var callable[]  function (Application $sender, \Exception $e); Occurs when an unhandled exception occurs in the application */ 
42+ 	/** @var callable[]  function (Application $sender, \Exception|\Throwable  $e); Occurs when an unhandled exception occurs in the application */ 
4343	public  $ onError
4444
4545	/** @var Request[] */ 
@@ -81,14 +81,19 @@ public function run()
8181			$ this processRequest ($ this createInitialRequest ());
8282			$ this onShutdown ($ this 
8383
84+ 		} catch  (\Throwable   $ e
8485		} catch  (\Exception   $ e
86+ 		}
87+ 		if  (isset ($ e
8588			$ this onError ($ this $ e
8689			if  ($ this catchExceptions  && $ this errorPresenter ) {
8790				try  {
8891					$ this processException ($ e
8992					$ this onShutdown ($ this $ e
9093					return ;
9194
95+ 				} catch  (\Throwable   $ e
96+ 					$ this onError ($ this $ e
9297				} catch  (\Exception   $ e
9398					$ this onError ($ this $ e
9499				}
@@ -153,9 +158,10 @@ public function processRequest(Request $request)
153158
154159
155160	/** 
161+ 	 * @param  \Exception|\Throwable 
156162	 * @return void 
157163	 */ 
158- 	public  function  processException (\ Exception   $ e
164+ 	public  function  processException ($ e
159165	{
160166		if  (!$ einstanceof  BadRequestException && $ this httpResponse  instanceof  Nette \Http \Response) {
161167			$ this httpResponse ->warnOnBuffer  = FALSE ;
0 commit comments