63 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* $Id$ */
 | |
| 
 | |
| /* 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();
 | |
| }
 |