www.pudn.com > indy10.0.52_source.rar > IdExceptionCore.pas


{ $HDR$} 
{**********************************************************************} 
{ Unit archived using Team Coherence                                   } 
{ Team Coherence is Copyright 2002 by Quality Software Components      } 
{                                                                      } 
{ For further information / comments, visit our WEB site at            } 
{ http://www.TeamCoherence.com                                         } 
{**********************************************************************} 
{} 
{ $Log:  56520: IdExceptionCore.pas  
{ 
{   Rev 1.3    09/06/2004 09:52:34  CCostelloe 
{ Kylix 3 patch 
} 
{ 
{   Rev 1.2    6/4/2004 5:12:56 PM  SGrobety 
{ added EIdMaxCaptureLineExceeded 
} 
{ 
{   Rev 1.1    2/10/2004 7:41:50 PM  JPMugaas 
{ I had to move EWrapperException down to the system package because 
{ IdStackDotNET was using it and that would drage IdExceptionCore into the 
{ package.  Borland changed some behavior so the warning is now an error. 
} 
{ 
{   Rev 1.0    2004.02.03 4:19:48 PM  czhower 
{ Rename 
} 
{ 
    Rev 1.15    11/4/2003 10:26:58 PM  DSiders 
  Added exceptions moved from IdIOHandler.pas and IdTCPConnection.pas. 
} 
{ 
{   Rev 1.14    2003.10.16 11:24:00 AM  czhower 
{ Added IfAssigned 
} 
{ 
{   Rev 1.13    2003.10.11 5:47:58 PM  czhower 
{ -VCL fixes for servers 
{ -Chain suport for servers (Super core) 
{ -Scheduler upgrades 
{ -Full yarn support 
} 
{ 
{   Rev 1.12    10/3/2003 11:38:36 PM  GGrieve 
{ Add EIdWrapperException 
} 
{ 
{   Rev 1.11    9/29/2003 02:56:28 PM  JPMugaas 
{ Added comment about why IdException.Create is virtual. 
} 
{ 
{   Rev 1.10    9/24/2003 11:42:50 PM  JPMugaas 
{ Minor changes to help compile under NET 
} 
{ 
{   Rev 1.9    2003.09.19 10:10:02 PM  czhower 
{ IfTrue, IfFalse 
} 
{ 
{   Rev 1.8    2003.09.19 11:54:28 AM  czhower 
{ -Completed more features necessary for servers 
{ -Fixed some bugs 
} 
{ 
{   Rev 1.7    2003.07.17 4:57:04 PM  czhower 
{ Added new exception type so it can be added to debugger list of ignored 
{ exceptions. 
} 
{ 
    Rev 1.6    7/1/2003 8:33:02 PM  BGooijen 
  Added EIdFibersNotSupported 
} 
{ 
{   Rev 1.5    2003.06.05 10:08:50 AM  czhower 
{ Extended reply mechanisms to the exception handling. Only base and RFC 
{ completed, handing off to J Peter. 
} 
{ 
    Rev 1.4    5/14/2003 2:59:58 PM  BGooijen 
  Added exception for transparant proxy 
} 
{ 
{   Rev 1.3    2003.04.14 10:54:06 AM  czhower 
{ Fiber specific exceptions 
} 
{ 
    Rev 1.2    4/2/2003 7:18:38 PM  BGooijen 
  Added EIdHttpProxyError 
} 
{ 
{   Rev 1.1    1/17/2003 05:06:46 PM  JPMugaas 
{ Exceptions for scheduler string. 
} 
{ 
{   Rev 1.0    11/13/2002 08:44:10 AM  JPMugaas 
} 
unit IdExceptionCore; 
 
interface 
 
uses 
  IdException, IdStack, 
  SysUtils; 
 
type 
  // IdFiber Exceptions 
  EIdFiber = class(EIdException); 
  EIdFiberFinished = class(EIdFiber); 
  EIdFibersNotSupported = class(EIdFiber); 
 
  EIdAlreadyConnected = class(EIdException); 
 
  // EIdClosedSocket is raised if .Disconnect has been called and an operation is attempted 
  // or Connect has not been called 
  EIdClosedSocket = class(EIdException); 
  EIdResponseError = class(EIdException); 
  EIdReadTimeout = class(EIdException); 
  EIdReadLnMaxLineLengthExceeded = class(EIdException); 
 
  // TIdTCPConnection exceptions 
  EIdTCPConnectionError = class(EIdException); 
  EIdObjectTypeNotSupported = class(EIdTCPConnectionError); 
  EIdInterceptPropIsNil = class(EIdTCPConnectionError); 
  EIdInterceptPropInvalid = class(EIdTCPConnectionError); 
  EIdIOHandlerPropInvalid = class(EIdTCPConnectionError); 
  EIdNoDataToRead = class(EIdTCPConnectionError); 
  EIdFileNotFound = class(EIdTCPConnectionError); 
 
  EIdNotConnected = class(EIdException); 
 
  EInvalidSyslogMessage = class(EIdException); 
  EIdSSLProtocolReplyError = class(EIdException); 
  EIdConnectTimeout = class(EIdException); 
  EIdConnectException = class(EIdException); 
 
  EIdTransparentProxyCantBind = class(EIdException); 
 
  EIdHttpProxyError = class(EIdException); 
 
  EIdSocksError = class(EIdException); 
  EIdSocksRequestFailed = class(EIdSocksError); 
  EIdSocksRequestServerFailed = class(EIdSocksError); 
  EIdSocksRequestIdentFailed = class(EIdSocksError); 
  EIdSocksUnknownError = class(EIdSocksError); 
  EIdSocksServerRespondError = class(EIdSocksError); 
  EIdSocksAuthMethodError = class(EIdSocksError); 
  EIdSocksAuthError = class(EIdSocksError); 
  EIdSocksServerGeneralError = class(EIdSocksError); 
  EIdSocksServerPermissionError = class (EIdSocksError); 
  EIdSocksServerNetUnreachableError = class (EIdSocksError); 
  EIdSocksServerHostUnreachableError = class (EIdSocksError); 
  EIdSocksServerConnectionRefusedError = class (EIdSocksError); 
  EIdSocksServerTTLExpiredError = class (EIdSocksError); 
  EIdSocksServerCommandError = class (EIdSocksError); 
  EIdSocksServerAddressError = class (EIdSocksError); 
 
  //IdIMAP4 Exception 
  EIdConnectionStateError = class(EIdException); 
 
  // THE EDnsResolverError is used so the resolver can repond to only resolver execeptions. 
  EIdDnsResolverError = Class(EIdException); 
 
  {Socket exceptions} 
  EIdInvalidSocket = class(EIdException); 
 
  EIdThreadMgrError = class(EIdException); 
  EIdThreadClassNotSpecified = class(EIdThreadMgrError); 
 
  {TIdTrivial FTP Exception } 
  EIdTFTPException               = class(EIdException); 
  EIdTFTPFileNotFound            = class(EIdTFTPException); 
  EIdTFTPAccessViolation         = class(EIdTFTPException); 
  EIdTFTPAllocationExceeded      = class(EIdTFTPException); 
  EIdTFTPIllegalOperation        = class(EIdTFTPException); 
  EIdTFTPUnknownTransferID       = class(EIdTFTPException); 
  EIdTFTPFileAlreadyExists       = class(EIdTFTPException); 
  EIdTFTPNoSuchUser              = class(EIdTFTPException); 
  EIdTFTPOptionNegotiationFailed = class(EIdTFTPException);  // RFC 1782 
 
  {Icmp exceptions} 
  EIdIcmpException = class(EIdException); 
 
  EIdSetSizeExceeded = class(EIdException); 
 
  {IdMessage and things use this} 
  EIdMessageException = class(EIdException); 
 
  { resolving hostnames } 
  EIdResolveError = class(EIdSocketError); 
  EIdReverseResolveError = class(EIdSocketError); 
  //scheduler exception 
  EIdSchedulerException = class(EIdException); 
  EIdSchedulerMaxThreadsExceeded = class(EIdSchedulerException); 
 
  { IdIOHandler } 
  EIdMaxCaptureLineExceeded = class(EIdException); // S.G. 6/4/2004: triggered when a capture command exceeds the maximum number of line allowed 
 
implementation 
 
end.