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