summaryrefslogtreecommitdiffstats
path: root/Python/errors.c
Commit message (Collapse)AuthorAgeFilesLines
* PyErr_GivenExceptionMatches(): Check for err==NULL and exc==NULL andBarry Warsaw2000-05-021-2/+6
| | | | | | | | | | return 0 (exceptions don't match). This means that if an ImportError is raised because exceptions.py can't be imported, the interpreter will exit "cleanly" with an error message instead of just core dumping. PyErr_SetFromErrnoWithFilename(), PyErr_SetFromWindowsErrWithFilename(): Don't test on Py_UseClassExceptionsFlag.
* Mark discovered a bug in his patch: he didn't *use* PyExc_WindowsErrorGuido van Rossum2000-03-021-1/+1
| | | | in PyErr_SetFromWindowsErrWithFilename() like he intended to... :-)
* Mark pointed out a buglet in his patch: i < _sys_nerr isn't strongGuido van Rossum2000-02-211-1/+1
| | | | | enough, it could be negative. Add i > 0 test. (Not i >= 0; zero isn't a valid error number.)
* Patch by Mark Hammond:Guido van Rossum2000-02-171-15/+75
| | | | | | | | | | * Changes to a recent patch by Chris Tismer to errors.c. Chris' patch always used FormatMessage() to get the error message passing the error code from errno - but errno and FormatMessage use a different numbering scheme. The main reason the patch looked OK was that ENOFILE==ERROR_FILE_NOT_FOUND - but that is about the only shared error code :-). The MS CRT docs tell you to use _sys_errlist()/_sys_nerr. My patch does also this, and adds a very similar function specifically for win32 error codes.
* Patch by Christian Tismer for Win32, to use FormatMessage() instead ofGuido van Rossum1999-04-211-2/+29
| | | | strerror(). This improves the quality of the error messages.
* Use PyThreadState_GET() macro.Guido van Rossum1998-12-211-1/+1
|
* When errno is zero, avoid calling strerror() and use "Error" for theGuido van Rossum1998-10-141-2/+7
| | | | message.
* PyErr_SetFromErrnoWithFilename(): New function which supports settingBarry Warsaw1998-07-231-2/+14
| | | | | | | | | | | an exception from errno, with a supplied filename (primarily used by IOError and OSError). If class exceptions are used then the exception is instantiated with a 3-tuple: (errno, strerror, filename). For backwards compatibility reasons, if string exceptions are used, filename is ignored. PyErr_SetFromErrno(): Implement in terms of PyErr_SetFromErrnoWithFilename().
* Fix subtle bug in cleanup code in PyErr_NormalizeException(), detectedGuido van Rossum1997-12-091-2/+2
| | | | | by Marc Lemburg. There's a path through the code where *val is NULL, but value isn't, and value should be DECREF'ed.
* New version of PyErr_NewException() that is compatible with -X option.Guido van Rossum1997-10-031-14/+35
|
* PyErr_NormalizeException(): If the exception's type is a class and theBarry Warsaw1997-09-301-0/+8
| | | | | instance's class is a subclass of this, then use the instance's class as the exception type.
* New API PyErr_NewException(name, base, dict) to create simple new exceptions.Guido van Rossum1997-09-161-0/+31
|
* PyErr_NoMemory(): If the pre-instantiated memory exception is non-nullBarry Warsaw1997-08-291-1/+9
| | | | | | (PyExc_MemoryErrorInst) raise this instead of PyExc_MemoryError. This only happens when exception classes are enabled (e.g. when Python is started with -X).
* Three new C API functions:Barry Warsaw1997-08-221-0/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | - int PyErr_GivenExceptionMatches(obj1, obj2) Returns 1 if obj1 and obj2 are the same object, or if obj1 is an instance of type obj2, or of a class derived from obj2 - int PyErr_ExceptionMatches(obj) Higher level wrapper around PyErr_GivenExceptionMatches() which uses PyErr_Occurred() as obj1. This will be the more commonly called function. - void PyErr_NormalizeException(typeptr, valptr, tbptr) Normalizes exceptions, and places the normalized values in the arguments. If type is not a class, this does nothing. If type is a class, then it makes sure that value is an instance of the class by: 1. if instance is of the type, or a class derived from type, it does nothing. 2. otherwise it instantiates the class, using the value as an argument. If value is None, it uses an empty arg tuple, and if the value is a tuple, it uses just that.
* Use strerror on the mac if using MSL (Jack).Guido van Rossum1997-08-121-6/+0
|
* Massive changes for separate thread state management.Guido van Rossum1997-05-051-32/+44
| | | | | All per-thread globals are moved into a struct which is manipulated separately.
* Quickly renamed. Also removed the long comment explaining why this isGuido van Rossum1997-04-291-90/+56
| | | | better than the old error API.
* Keep Microsoft VC happy.Guido van Rossum1997-04-111-0/+2
|
* (Jack:) On the Mac, use standard strerror() if using MSL C-library.Guido van Rossum1997-04-111-0/+2
|
* Oops, remove an unused variable from PyErr_Format().Guido van Rossum1997-02-141-1/+0
|
* Added convenience function PyErr_Format(exception, formatstring, ...) -> NULL.Guido van Rossum1997-02-141-0/+27
|
* Add const to error and newstring functionsGuido van Rossum1996-12-101-1/+1
|
* New permission notice, includes CNRI.Guido van Rossum1996-10-251-13/+20
|
* remove unwanted fatal() from err_badcall()Guido van Rossum1995-09-181-1/+0
|
* err_badcall() is fatal errorGuido van Rossum1995-08-281-0/+1
|
* Porting to CW CFM68KJack Jansen1995-06-271-1/+1
|
* changes in NT testsGuido van Rossum1995-03-091-2/+3
|
* rename macstrerror to PyMac_StrError; no EINTR test in CWGuido van Rossum1995-02-181-8/+13
|
* Undef strerror on the mac before redefining itJack Jansen1995-01-191-0/+1
|
* Added 1995 to copyright message.Guido van Rossum1995-01-041-2/+2
| | | | | | bltinmodule.c: fixed coerce() nightmare in ternary pow(). modsupport.c (initmodule2): pass METH_FREENAME flag to newmethodobject(). pythonrun.c: move flushline() into and around print_error().
* Lots of changes, most minor (fatal() instead of abort(), use ofGuido van Rossum1995-01-021-7/+20
| | | | | | err_fetch/err_restore and so on). But... NOTE: import.c has been rewritten and all the DL stuff is now in the new file importdl.c.
* Added hook for better mac error messages.Jack Jansen1994-12-141-0/+10
|
* call err_clear in err_setvalGuido van Rossum1994-11-101-2/+2
|
* * Python/errors.c (err_clear): clear interpreter stack traceGuido van Rossum1994-09-291-1/+5
|
* err_clear: clear interpreter stack traceGuido van Rossum1994-08-291-40/+7
|
* * Makefile: added all: and default: targets.Guido van Rossum1993-07-051-3/+0
| | | | | | | | | | | | * many files: made some functions static; removed "extern int errno;". * frozenmain.c: fixed bugs introduced on 24 June... * flmodule.c: remove 1.5 bw compat hacks, add new functions in 2.2a (and some old functions that were omitted). * timemodule.c: added MSDOS floatsleep version . * pgenmain.c: changed exit() to goaway() and added defn of goaway(). * intrcheck.c: add hack (to UNIX only) so interrupting 3 times will exit from a hanging program. The second interrupt prints a message explaining this to the user.
* * Changed many files to use mkvalue() instead of newtupleobject().Guido van Rossum1993-03-161-7/+6
| | | | | | | | | | * Fixcprt.py: added [-y file] option, do only files younger than file. * modsupport.[ch]: added vmkvalue(). * intobject.c: use mkvalue(). * stringobject.c: added "formatstring"; renamed string* to string_*; ceval.c: call formatstring for string % value. * longobject.c: close memory leak in divmod. * parsetok.c: set result node to NULL when returning an error.
* Copyright for 1992 addedGuido van Rossum1992-04-051-1/+1
|
* EOF in source is a SyntaxError, not an EOFError.Guido van Rossum1992-02-051-1/+1
|
* EOF while parsing should raise EOFError, not SyntaxError.Guido van Rossum1991-12-241-1/+1
|
* Use SyntaxError.Guido van Rossum1991-12-161-4/+4
|
* Use new exceptions.Guido van Rossum1991-12-101-3/+3
|
* Check for EINTR and turn it into KeyboardInterruptGuido van Rossum1991-10-201-1/+6
| | | | in err_errno().
* Added copyright notice.Guido van Rossum1991-02-191-0/+24
|
* Changed include of <errno.h>Guido van Rossum1990-12-201-2/+5
|
* "Compiling" versionGuido van Rossum1990-12-201-33/+50
|
* Reformulated err_badarg error message.Guido van Rossum1990-11-091-1/+1
|
* Added prototype for strerror.Guido van Rossum1990-11-021-0/+2
|
* Added intobject.h and tupleobject.h includes.Guido van Rossum1990-10-261-0/+2
|
* Added err_badcall().Guido van Rossum1990-10-211-0/+6
|