restemplate/indy/Core/IdExceptionCore.pas

192 lines
6.2 KiB
Plaintext

{
$Project$
$Workfile$
$Revision$
$DateUTC$
$Id$
This file is part of the Indy (Internet Direct) project, and is offered
under the dual-licensing agreement described on the Indy website.
(http://www.indyproject.org/)
Copyright:
(c) 1993-2005, Chad Z. Hower and the Indy Pit Crew. All rights reserved.
}
{
$Log$
}
{
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
{$I IdCompilerDefines.inc}
//needed to put FCP into Delphi mode
uses
IdException, IdStack;
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);
EIdAcceptTimeout = class(EIdException);
EIdReadLnMaxLineLengthExceeded = class(EIdException);
EIdReadLnWaitMaxAttemptsExceeded = class(EIdException);
// TIdTCPConnection exceptions
EIdPortRequired = class(EIdException);
EIdHostRequired = class(EIdException);
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);
//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.