|
@@ -0,0 +1,63 @@
|
|
|
+/* $Header $ */
|
|
|
+
|
|
|
+/* error takes an error value in the range of 0-255 */
|
|
|
+/* and generates a trap */
|
|
|
+
|
|
|
+char *errortable[255]={
|
|
|
+/* 0 */ "",
|
|
|
+/* 1 */ "RETURN without GOSUB",
|
|
|
+/* 2 */ "Out of data",
|
|
|
+/* 3 */ "Illegal function call",
|
|
|
+/* 4 */ "Overflow",
|
|
|
+/* 5 */ "Out of memory",
|
|
|
+/* 6 */ "Undefined line ",
|
|
|
+/* 7 */ "Subscript out of range",
|
|
|
+/* 8 */ "Redimensioned array",
|
|
|
+/* 9 */ "Division by zero",
|
|
|
+/* 10 */ "Illegal indirect",
|
|
|
+/* 11 */ "Type mismatch",
|
|
|
+/* 12 */ "Out of string space",
|
|
|
+/* 13 */ "String too long",
|
|
|
+/* 14 */ "String formula too complex",
|
|
|
+/* 15 */ "Can't continue",
|
|
|
+/* 16 */ "Undefined user function",
|
|
|
+/* 17 */ "No resume",
|
|
|
+/* 18 */ "Resume without error",
|
|
|
+/* 19 */ "Unprintable error",
|
|
|
+/* 20 */ "Missing operand",
|
|
|
+/* 21 */ "Line buffer overflow",
|
|
|
+/* 22 */ "FOR without NEXT",
|
|
|
+/* 23 */ "WHILE without WEND",
|
|
|
+/* 24 */ "WEND without WHILE",
|
|
|
+/* 25 */ "Field overflow",
|
|
|
+/* 26 */ "Internal error",
|
|
|
+/* 27 */ "Bad file number",
|
|
|
+/* 28 */ "File not found",
|
|
|
+/* 29 */ "Bad file mode",
|
|
|
+/* 30 */ "File already open",
|
|
|
+/* 31 */ "Disk IO error",
|
|
|
+/* 32 */ "File already exists",
|
|
|
+/* 33 */ "Disk full",
|
|
|
+/* 34 */ "Input past end",
|
|
|
+/* 35 */ "Bad record number",
|
|
|
+/* 36 */ "Bad file name",
|
|
|
+/* 37 */ "Direct statement in file",
|
|
|
+/* 38 */ "Too many files",
|
|
|
+/* 39 */ "File not open",
|
|
|
+/* 40 */ "Syntax error in data",
|
|
|
+0
|
|
|
+};
|
|
|
+
|
|
|
+error(index)
|
|
|
+int index;
|
|
|
+{
|
|
|
+ extern int _errsym;
|
|
|
+ extern int _erlsym;
|
|
|
+
|
|
|
+ _setline();
|
|
|
+ if( index<0 || index >40 )
|
|
|
+ printf("LINE %d:ERROR %d: Unprintable error\n",_erlsym,index);
|
|
|
+ else printf("LINE %d:ERROR %d: %s\n",_erlsym,index,errortable[index]);
|
|
|
+ _errsym= index;
|
|
|
+ _trap();
|
|
|
+}
|