myexception.pas

来自「一整套的源代码」· PAS 代码 · 共 181 行

PAS
181
字号
unit MyException;

interface

uses
  SysUtils;

type
  EAppendException = class(Exception)
  public
    constructor Create(const ClassName: string; const ErrMsg: string);
  end;

  ECancelException = class(Exception)
  public
    constructor Create(const ClassName: string; const ErrMsg: string);
  end;

  EDeleteException = class(Exception)
  public
    constructor Create(const ClassName: string; const ErrMsg: string);
  end;

  ESaveException = class(Exception)
  public
    constructor Create(const ClassName: string; const ErrMsg: string);
  end;

  EInitInstanceException = class(Exception)
  public
    constructor Create(const ClassName: string; const ErrMsg: string);
  end;

  EQueryParameters = class(Exception)
  public
    constructor Create(const ClassName: string; const ErrMsg: string);
  end;

  EOpenDataSetException = class(Exception)
  public
    constructor Create(const ClassName: string; const ErrMsg: string);  
  end;

  EGetModelException = class(Exception)
  public
    constructor Create(const ViewName, FactoryName, ErrMsg: string);
  end;

  ELocateByPKException = class(Exception)
  public
    constructor Create(const ClassName, ErrMsg: string);
  end;

  ENewDataItemException = class(Exception)
  public
    constructor Create(const ClassName, ErrMsg: string);
  end;

  EParseToDataItemException = class(Exception)
  public
    constructor Create(const ClassName, ErrMsg: string);
  end;

  EViewCreateException = class(Exception)
  public
    constructor Create(const ClassName, ErrMsg: string);
  end;

  EInitViewException = class(Exception)
  public
    constructor Create(const ClassName, ErrMsg: string);
  end;

  ENewKeyException = class(Exception)
  public
    constructor Create(const ClassName, ErrMsg: string);
  end;

implementation

{ AppendException }

constructor EAppendException.Create(const ClassName: string; const ErrMsg: string);
begin
  inherited Create('当''' + ClassName + '''在插入一条新记录时发生了错误,原因如下:' + #10 + ErrMsg);
end;

{ CancelException }

constructor ECancelException.Create(const ClassName, ErrMsg: string);
begin
  inherited Create('当''' + ClassName + '''在放弃已修改数据时发生了错误,原因如下:' + #10 + ErrMsg);
end;

{ DeleteException }

constructor EDeleteException.Create(const ClassName, ErrMsg: string);
begin
  inherited Create('当''' + ClassName + '''在删除当前记录时发生了错误,原因如下:' + #10 + ErrMsg);
end;

{ ESaveException }

constructor ESaveException.Create(const ClassName, ErrMsg: string);
begin
  inherited Create('当''' + ClassName + '''在保存已个修改数据时发生了错误,原因如下:' + #10 + ErrMsg);
end;

{ EInitInstanceException }

constructor EInitInstanceException.Create(const ClassName, ErrMsg: string);
begin
  inherited Create('在工厂类''' + ClassName + '''创建一个实例时发生了错误,原因如下:' + #10 + ErrMsg);
end;

{ EQueryParameters }

constructor EQueryParameters.Create(const ClassName, ErrMsg: string);
begin
  inherited Create('在调用类''' + ClassName + '''的方法''Query''时发生了错误:' + #10 + ErrMsg +
                   #10 + '必须为''' + ClassName + '''传递一个''IQueryParameters''类型的参数');
end;

{ EOpenDataSetException }

constructor EOpenDataSetException.Create(const ClassName, ErrMsg: string);
begin
  inherited Create('在类''' + ClassName + '''中打开某个数据集时发生了错误,原因如下:' + #10 + ErrMsg);
end;

{ EGetModelException }

constructor EGetModelException.Create(const ViewName, FactoryName, ErrMsg: string);
begin
  inherited Create('在类''' + ViewName + '''中调用类''' + FactoryName + '''时发生了错误,原因如下:' + #10 + ErrMsg);
end;

{ ELocateByPKException }

constructor ELocateByPKException.Create(const ClassName, ErrMsg: string);
begin
  inherited Create('在类''' + ClassName + '''中调用方法''LocateByPK''时发生了错误,原因如下:' + #10 + ErrMsg);
end;

{ ENewDataItemException }

constructor ENewDataItemException.Create(const ClassName, ErrMsg: string);
begin
  inherited Create('在类''' + ClassName + '''中调用方法''NewDataItem''时发生了错误,原因如下:' + #10 + ErrMsg);
end;

{ EParseToDataItemException }

constructor EParseToDataItemException.Create(const ClassName, ErrMsg: string);
begin
  inherited Create('在类''' + ClassName + '''中调用方法''ParseToDataItem''时发生了错误,原因如下:' + #10 + ErrMsg);
end;

{ EViewCreateException }

constructor EViewCreateException.Create(const ClassName, ErrMsg: string);
begin
  inherited Create('在创建类''' + ClassName + '''时发生了错误,原因如下:' + #10 + ErrMsg);
end;

{ EInitViewException }

constructor EInitViewException.Create(const ClassName, ErrMsg: string);
begin
  inherited Create('在类''' + ClassName + '''中调用方法''InitView''时发生了错误,原因如下:' + #10 + ErrMsg);
end;

{ ENewKeyException }

constructor ENewKeyException.Create(const ClassName, ErrMsg: string);
begin
  inherited Create('在类''' + ClassName + '''中调用方法''NewKey''时发生了错误,原因如下:' + #10 + ErrMsg);
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?