IdExceptionCore.pas 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. {
  2. $Project$
  3. $Workfile$
  4. $Revision$
  5. $DateUTC$
  6. $Id$
  7. This file is part of the Indy (Internet Direct) project, and is offered
  8. under the dual-licensing agreement described on the Indy website.
  9. (http://www.indyproject.org/)
  10. Copyright:
  11. (c) 1993-2005, Chad Z. Hower and the Indy Pit Crew. All rights reserved.
  12. }
  13. {
  14. $Log$
  15. }
  16. {
  17. Rev 1.3 09/06/2004 09:52:34 CCostelloe
  18. Kylix 3 patch
  19. Rev 1.2 6/4/2004 5:12:56 PM SGrobety
  20. added EIdMaxCaptureLineExceeded
  21. Rev 1.1 2/10/2004 7:41:50 PM JPMugaas
  22. I had to move EWrapperException down to the system package because
  23. IdStackDotNET was using it and that would drage IdExceptionCore into the
  24. package. Borland changed some behavior so the warning is now an error.
  25. Rev 1.0 2004.02.03 4:19:48 PM czhower
  26. Rename
  27. Rev 1.15 11/4/2003 10:26:58 PM DSiders
  28. Added exceptions moved from IdIOHandler.pas and IdTCPConnection.pas.
  29. Rev 1.14 2003.10.16 11:24:00 AM czhower
  30. Added IfAssigned
  31. Rev 1.13 2003.10.11 5:47:58 PM czhower
  32. -VCL fixes for servers
  33. -Chain suport for servers (Super core)
  34. -Scheduler upgrades
  35. -Full yarn support
  36. Rev 1.12 10/3/2003 11:38:36 PM GGrieve
  37. Add EIdWrapperException
  38. Rev 1.11 9/29/2003 02:56:28 PM JPMugaas
  39. Added comment about why IdException.Create is virtual.
  40. Rev 1.10 9/24/2003 11:42:50 PM JPMugaas
  41. Minor changes to help compile under NET
  42. Rev 1.9 2003.09.19 10:10:02 PM czhower
  43. IfTrue, IfFalse
  44. Rev 1.8 2003.09.19 11:54:28 AM czhower
  45. -Completed more features necessary for servers
  46. -Fixed some bugs
  47. Rev 1.7 2003.07.17 4:57:04 PM czhower
  48. Added new exception type so it can be added to debugger list of ignored
  49. exceptions.
  50. Rev 1.6 7/1/2003 8:33:02 PM BGooijen
  51. Added EIdFibersNotSupported
  52. Rev 1.5 2003.06.05 10:08:50 AM czhower
  53. Extended reply mechanisms to the exception handling. Only base and RFC
  54. completed, handing off to J Peter.
  55. Rev 1.4 5/14/2003 2:59:58 PM BGooijen
  56. Added exception for transparant proxy
  57. Rev 1.3 2003.04.14 10:54:06 AM czhower
  58. Fiber specific exceptions
  59. Rev 1.2 4/2/2003 7:18:38 PM BGooijen
  60. Added EIdHttpProxyError
  61. Rev 1.1 1/17/2003 05:06:46 PM JPMugaas
  62. Exceptions for scheduler string.
  63. Rev 1.0 11/13/2002 08:44:10 AM JPMugaas
  64. }
  65. unit IdExceptionCore;
  66. interface
  67. {$I IdCompilerDefines.inc}
  68. //needed to put FCP into Delphi mode
  69. uses
  70. IdException, IdStack;
  71. type
  72. // IdFiber Exceptions
  73. EIdFiber = class(EIdException);
  74. EIdFiberFinished = class(EIdFiber);
  75. EIdFibersNotSupported = class(EIdFiber);
  76. EIdAlreadyConnected = class(EIdException);
  77. // EIdClosedSocket is raised if .Disconnect has been called and an operation is attempted
  78. // or Connect has not been called
  79. EIdClosedSocket = class(EIdException);
  80. EIdResponseError = class(EIdException);
  81. EIdReadTimeout = class(EIdException);
  82. EIdAcceptTimeout = class(EIdException);
  83. EIdReadLnMaxLineLengthExceeded = class(EIdException);
  84. EIdReadLnWaitMaxAttemptsExceeded = class(EIdException);
  85. // TIdTCPConnection exceptions
  86. EIdPortRequired = class(EIdException);
  87. EIdHostRequired = class(EIdException);
  88. EIdTCPConnectionError = class(EIdException);
  89. EIdObjectTypeNotSupported = class(EIdTCPConnectionError);
  90. EIdInterceptPropIsNil = class(EIdTCPConnectionError);
  91. EIdInterceptPropInvalid = class(EIdTCPConnectionError);
  92. EIdIOHandlerPropInvalid = class(EIdTCPConnectionError);
  93. EIdNoDataToRead = class(EIdTCPConnectionError);
  94. EIdFileNotFound = class(EIdTCPConnectionError);
  95. EIdNotConnected = class(EIdException);
  96. EInvalidSyslogMessage = class(EIdException);
  97. EIdSSLProtocolReplyError = class(EIdException);
  98. EIdConnectTimeout = class(EIdException);
  99. EIdConnectException = class(EIdException);
  100. EIdTransparentProxyCantBind = class(EIdException);
  101. EIdHttpProxyError = class(EIdException);
  102. EIdSocksError = class(EIdException);
  103. EIdSocksRequestFailed = class(EIdSocksError);
  104. EIdSocksRequestServerFailed = class(EIdSocksError);
  105. EIdSocksRequestIdentFailed = class(EIdSocksError);
  106. EIdSocksUnknownError = class(EIdSocksError);
  107. EIdSocksServerRespondError = class(EIdSocksError);
  108. EIdSocksAuthMethodError = class(EIdSocksError);
  109. EIdSocksAuthError = class(EIdSocksError);
  110. EIdSocksServerGeneralError = class(EIdSocksError);
  111. EIdSocksServerPermissionError = class (EIdSocksError);
  112. EIdSocksServerNetUnreachableError = class (EIdSocksError);
  113. EIdSocksServerHostUnreachableError = class (EIdSocksError);
  114. EIdSocksServerConnectionRefusedError = class (EIdSocksError);
  115. EIdSocksServerTTLExpiredError = class (EIdSocksError);
  116. EIdSocksServerCommandError = class (EIdSocksError);
  117. EIdSocksServerAddressError = class (EIdSocksError);
  118. //IdIMAP4 Exception
  119. EIdConnectionStateError = class(EIdException);
  120. // THE EDnsResolverError is used so the resolver can repond to only resolver execeptions.
  121. EIdDnsResolverError = Class(EIdException);
  122. {Socket exceptions}
  123. EIdInvalidSocket = class(EIdException);
  124. EIdThreadMgrError = class(EIdException);
  125. EIdThreadClassNotSpecified = class(EIdThreadMgrError);
  126. {TIdTrivial FTP Exception }
  127. EIdTFTPException = class(EIdException);
  128. EIdTFTPFileNotFound = class(EIdTFTPException);
  129. EIdTFTPAccessViolation = class(EIdTFTPException);
  130. EIdTFTPAllocationExceeded = class(EIdTFTPException);
  131. EIdTFTPIllegalOperation = class(EIdTFTPException);
  132. EIdTFTPUnknownTransferID = class(EIdTFTPException);
  133. EIdTFTPFileAlreadyExists = class(EIdTFTPException);
  134. EIdTFTPNoSuchUser = class(EIdTFTPException);
  135. EIdTFTPOptionNegotiationFailed = class(EIdTFTPException); // RFC 1782
  136. {Icmp exceptions}
  137. EIdIcmpException = class(EIdException);
  138. EIdSetSizeExceeded = class(EIdException);
  139. {IdMessage and things use this}
  140. EIdMessageException = class(EIdException);
  141. //scheduler exception
  142. EIdSchedulerException = class(EIdException);
  143. EIdSchedulerMaxThreadsExceeded = class(EIdSchedulerException);
  144. { IdIOHandler }
  145. EIdMaxCaptureLineExceeded = class(EIdException); // S.G. 6/4/2004: triggered when a capture command exceeds the maximum number of line allowed
  146. implementation
  147. end.