2013-12-05 16:19:01 +01:00
|
|
|
unit TestServerControllerExceptionU;
|
|
|
|
|
|
|
|
interface
|
|
|
|
|
|
|
|
uses
|
2014-04-01 00:02:31 +02:00
|
|
|
MVCFramework, System.SysUtils;
|
2013-12-05 16:19:01 +01:00
|
|
|
|
|
|
|
type
|
|
|
|
|
2014-03-31 11:40:25 +02:00
|
|
|
EMyException = class(Exception)
|
|
|
|
|
|
|
|
end;
|
|
|
|
|
2013-12-05 16:19:01 +01:00
|
|
|
[MVCPath('/exception/aftercreate')]
|
|
|
|
TTestServerControllerExceptionAfterCreate = class(TMVCController)
|
|
|
|
|
|
|
|
protected
|
|
|
|
procedure MVCControllerAfterCreate; override;
|
|
|
|
procedure MVCControllerBeforeDestroy; override;
|
|
|
|
public
|
|
|
|
[MVCPath('/nevercalled')]
|
|
|
|
procedure NeverCalled(CTX: TWebContext);
|
|
|
|
end;
|
|
|
|
|
|
|
|
[MVCPath('/exception/beforedestroy')]
|
|
|
|
TTestServerControllerExceptionBeforeDestroy = class(TMVCController)
|
|
|
|
|
|
|
|
protected
|
|
|
|
procedure MVCControllerAfterCreate; override;
|
|
|
|
procedure MVCControllerBeforeDestroy; override;
|
|
|
|
public
|
|
|
|
[MVCPath('/nevercalled')]
|
|
|
|
procedure NeverCalled(CTX: TWebContext);
|
|
|
|
end;
|
|
|
|
|
|
|
|
implementation
|
|
|
|
|
|
|
|
{ TTestServerControllerException }
|
|
|
|
|
|
|
|
procedure TTestServerControllerExceptionAfterCreate.MVCControllerAfterCreate;
|
|
|
|
begin
|
|
|
|
inherited;
|
2014-04-01 00:02:31 +02:00
|
|
|
raise EMyException.Create('This is an exception raised in the MVCControllerAfterCreate');
|
2013-12-05 16:19:01 +01:00
|
|
|
end;
|
|
|
|
|
|
|
|
procedure TTestServerControllerExceptionAfterCreate.MVCControllerBeforeDestroy;
|
|
|
|
begin
|
|
|
|
inherited;
|
|
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
procedure TTestServerControllerExceptionAfterCreate.NeverCalled(CTX: TWebContext);
|
|
|
|
begin
|
|
|
|
Render(500, 'This method should not be called...');
|
|
|
|
end;
|
|
|
|
|
|
|
|
{ TTestServerControllerExceptionBeforeDestroy }
|
|
|
|
|
|
|
|
procedure TTestServerControllerExceptionBeforeDestroy.MVCControllerAfterCreate;
|
|
|
|
begin
|
|
|
|
inherited;
|
|
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
procedure TTestServerControllerExceptionBeforeDestroy.MVCControllerBeforeDestroy;
|
|
|
|
begin
|
|
|
|
inherited;
|
2014-04-01 00:02:31 +02:00
|
|
|
raise EMyException.Create('This is an exception raised in the MVCControllerBeforeDestroy');
|
2013-12-05 16:19:01 +01:00
|
|
|
end;
|
|
|
|
|
|
|
|
procedure TTestServerControllerExceptionBeforeDestroy.NeverCalled(CTX: TWebContext);
|
|
|
|
begin
|
|
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
end.
|