Files
harbour-core/harbour/include/error.ch
2000-04-15 03:09:29 +00:00

119 lines
4.4 KiB
Plaintext

/*
* $Id$
*/
/*
* Harbour Project source code:
* Header file for error hanlding
*
* Copyright 1999 {list of individual authors and e-mail addresses}
* www - http://www.harbour-project.org
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version, with one exception:
*
* The exception is that if you link the Harbour Runtime Library (HRL)
* and/or the Harbour Virtual Machine (HVM) with other files to produce
* an executable, this does not by itself cause the resulting executable
* to be covered by the GNU General Public License. Your use of that
* executable is in no way restricted on account of linking the HRL
* and/or HVM code into it.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA (or visit
* their web site at http://www.gnu.org/).
*
*/
/* NOTE: This file is also used by C code. */
#ifndef _ERROR_CH
#define _ERROR_CH
/* Severity levels (oError:severity) */
#define ES_WHOCARES 0
#define ES_WARNING 1
#define ES_ERROR 2
#define ES_CATASTROPHIC 3
/* Generic error codes (oError:genCode) */
#define EG_ARG 1
#define EG_BOUND 2
#define EG_STROVERFLOW 3
#define EG_NUMOVERFLOW 4
#define EG_ZERODIV 5
#define EG_NUMERR 6
#define EG_SYNTAX 7
#define EG_COMPLEXITY 8
#define EG_MEM 11
#define EG_NOFUNC 12
#define EG_NOMETHOD 13
#define EG_NOVAR 14
#define EG_NOALIAS 15
#define EG_NOVARMETHOD 16
#define EG_BADALIAS 17
#define EG_DUPALIAS 18
#define EG_CREATE 20
#define EG_OPEN 21
#define EG_CLOSE 22
#define EG_READ 23
#define EG_WRITE 24
#define EG_PRINT 25
#define EG_UNSUPPORTED 30
#define EG_LIMIT 31
#define EG_CORRUPTION 32
#define EG_DATATYPE 33
#define EG_DATAWIDTH 34
#define EG_NOTABLE 35
#define EG_NOORDER 36
#define EG_SHARED 37
#define EG_UNLOCKED 38
#define EG_READONLY 39
#define EG_APPENDLOCK 40
#define EG_LOCK 41
#define EG_ARRACCESS 46 /* Harbour special */
#define EG_ARRASSIGN 47 /* Harbour special */
#define EG_ARRDIMENSION 48 /* Harbour special */
#define EG_NOTARRAY 49 /* Harbour special */
#define EG_CONDITION 50 /* Harbour special */
/* Internal errors */
#define IE_ERRUNRECOV 9000 // "Unrecoverable error %lu: "
#define IE_ERRRECFAILURE 9001 // "Error recovery failure"
#define IE_ERRNOBLOCK 9002 // "No ERRORBLOCK() for error"
#define IE_ERRTOOMANY 9003 // "Too many recursive error handler calls"
#define IE_RDDINVALID 9004 // "RDD invalid or failed to load"
#define IE_CLSINVMETHOD 9005 // "Invalid method type from %s"
#define IE_XGRABALLOC 9006 // "hb_xgrab can't allocate memory"
#define IE_XREALLOCNULL 9007 // "hb_xrealloc called with a NULL pointer"
#define IE_XREALLOCINV 9008 // "hb_xrealloc called with an invalid pointer"
#define IE_XREALLOC 9009 // "hb_xrealloc can't reallocate memory"
#define IE_XFREEINV 9010 // "hb_xfree called with an invalid pointer"
#define IE_XFREENULL 9011 // "hb_xfree called with a NULL pointer"
#define IE_VMBADSTARTUP 9012 // "Can\'t locate the starting procedure: \'%s\'"
#define IE_VMNOSTARTUP 9013 // "No starting procedure"
#define IE_VMBADOPCODE 9014 // "Unsupported VM opcode"
#define IE_VMNOTSYMBOL 9015 // "Symbol item expected from %s"
#define IE_VMINVSYMBOL 9016 // "Invalid symbol type for self from %s"
#define IE_VMNOTCBLOCK 9017 // "Codeblock expected from %s"
#define IE_VMPOPINVITEM 9018 // "Incorrect item type on the stack trying to pop from %s"
#define IE_STACKUFLOW 9019 // "Stack underflow"
#define IE_ITEMBADCOPY 9020 // "An item was going to be copied to itself from %s"
#define IE_MVBADSYMBOL 9021 // "Invalid symbol item passed as memvar %s"
#endif /* _ERROR_CH */