Exceptions in Delphi

 

Reid Roman <rkroman@pacbell.net>

100-149 are I/O errors, 200-255 are Fatal errors according to the delphi help files.

The External Exception error code is given a name in Windows.pas. Search for e.g.

 


STATUS_BREAKPOINT

 


to get to the constant declaration.

Run-Time errors below 100 (and a few unrelevant ones above) is DOS error codes, here's a table (Shamelessly ripped from Ralph Brown's Interrupt list)

As you can see, you get a sharing violation (kind of makes sense, eh?) when you try to modify your exe.

 


Values for DOS extended error code:

 00h (0)   no error

 01h (1)   function number invalid

 02h (2)   file not found

 03h (3)   path not found

 04h (4)   too many open files (no handles available)

 05h (5)   access denied

 06h (6)   invalid handle

 07h (7)   memory control block destroyed

 08h (8)   insufficient memory

 09h (9)   memory block address invalid

 0Ah (10)  environment invalid (usually >32K in length)

 0Bh (11)  format invalid

 0Ch (12)  access code invalid

 0Dh (13)  data invalid

 0Eh (14)  reserved

 0Fh (15)  invalid drive

 10h (16)  attempted to remove current directory

 11h (17)  not same device

 12h (18)  no more files

---DOS 3.0+ ---

 13h (19)  disk write-protected

 

 14h (20)  unknown unit

 15h (21)  drive not ready

 16h (22)  unknown command

 17h (23)  data error (CRC)

 18h (24)  bad request structure length

 19h (25)  seek error

 1Ah (26)  unknown media type (non-DOS disk)

 1Bh (27)  sector not found

 1Ch (28)  printer out of paper

 1Dh (29)  write fault

 1Eh (30)  read fault

 1Fh (31)  general failure

 20h (32)  sharing violation

 21h (33)  lock violation

 22h (34)  disk change invalid (ES:DI -> media ID structure)(see #0981)

 23h (35)  FCB unavailable

 24h (36)  sharing buffer overflow

 25h (37)  (DOS 4.0+) code page mismatch

 26h (38)  (DOS 4.0+) cannot complete file operation (out of input)

 

 27h (39)  (DOS 4.0+) insufficient disk space

 28h-31h   reserved

 32h (50)  network request not supported

 33h (51)  remote computer not listening

 34h (52)  duplicate name on network

 35h (53)  network name not found

 36h (54)  network busy

 37h (55)  network device no longer exists

 38h (56)  network BIOS command limit exceeded

 39h (57)  network adapter hardware error

 3Ah (58)  incorrect response from network

 3Bh (59)  unexpected network error

 3Ch (60)  incompatible remote adapter

 3Dh (61)  print queue full

 3Eh (62)  queue not full

 3Fh (63)  not enough space to print file

 40h (64)  network name was deleted

 41h (65)  network: Access denied

 42h (66)  network device type incorrect

 

 43h (67)  network name not found

 44h (68)  network name limit exceeded

 45h (69)  network BIOS session limit exceeded

 46h (70)  temporarily paused

 47h (71)  network request not accepted

 48h (72)  network print/disk redirection paused

 49h (73)  network software not installed

     (LANtastic) invalid network version

 4Ah (74)  unexpected adapter close

     (LANtastic) account expired

 4Bh (75)  (LANtastic) password expired

 4Ch (76)  (LANtastic) login attempt invalid at this time

 4Dh (77)  (LANtastic v3+) disk limit exceeded on network node

 4Eh (78)  (LANtastic v3+) not logged in to network node

 4Fh (79)  reserved

 

 50h (80)  file exists

 51h (81)  reserved

 52h (82)  cannot make directory

 53h (83)  fail on INT 24h

 54h (84)  (DOS 3.3+) too many redirections

 55h (85)  (DOS 3.3+) duplicate redirection

 56h (86)  (DOS 3.3+) invalid password

 57h (87)  (DOS 3.3+) invalid parameter

 58h (88)  (DOS 3.3+) network write fault

 59h (89)  (DOS 4.0+) function not supported on network

 5Ah (90)  (DOS 4.0+) required system component not installed

 64h (100) (MSCDEX) unknown error

 65h (101) (MSCDEX) not ready

 66h (102) (MSCDEX) EMS memory no longer valid

 67h (103) (MSCDEX) not High Sierra or ISO-9660 format

 

 68h (104) (MSCDEX) door open

 B0h (176) (MS-DOS 7.0) volume is not locked

 B1h (177) (MS-DOS 7.0) volume is locked in drive

 B2h (178) (MS-DOS 7.0) volume is not removable

 B4h (180) (MS-DOS 7.0) lock count has been exceeded

 B5h (181) (MS-DOS 7.0) a valid eject request failed