cexcept: README 0.6.3 (2000-Apr-22-Sat) Adam M. Costello cexcept (pronounced "see except" in English) is a package providing a Try/Catch/Throw exception handling interface for ANSI C (and subsequent ISO C standards). It does not attempt to handle "real" exceptions like floating-point exceptions or addressing exceptions; it is intended as an enhanced user-friendly alternative to setjmp() & longjmp(). The package consists of the following files: name version ---------- ------- README 0.6.3 cexcept.h 0.6.1 example.c 0.6.0 example2.c 0.6.0 rationale 0.6.1 The package is both free-as-in-speech and free-as-in-beer: Copyright (c) 2000 Adam M. Costello and Cosmin Truta. Everyone is hereby granted permission to do whatever they like with these files, provided that if they modify them they take reasonable steps to avoid confusing or misleading people about the authors, versions, and terms of use of the derived files. The copyright holders make no guarantees about the correctness of these files, and are not responsible for any damage resulting from their use. The version number of this README file can be considered the version number of the whole package. The file cexcept.h contains the documentation and implementation of the interface. The other files are supporting documents. The project web page is: http://www.cs.berkeley.edu/~amc/cexcept/ Here is another place to obtain the package, not guaranteed to always have the very latest version, but probably more highly available: http://cexcept.sourceforge.net/ The remainder of this file is a log of changes. 2000-Apr-22-Sat cexcept.h 0.6.0 --> 0.6.1 * Clarified that the wrapper .h file is needed only when there are multiple .c files. 2000-Apr-08-Sat rationale 0.6.0 --> 0.6.1 * Added rationale for disallowing jumping in/out of Try clauses. * Expanded the discussion of finally clauses. * Added rationale for the lack of expressionless Throw. 2000-Apr-07-Fri Created README, which incorporates changelog. cexcept.h amc.0.5.3 --> 0.6.0 * The expression passed to Catch must now have exactly the same type passed to define_exception_type(), and it is always evaluated exactly once, regardless of whether an exception is caught. * Added Catch_anonymous. * Changed init_exception_context() to take an argument, and to be optional for statically allocated contexts. * Clarified allowable exception types, added examples. * Clarified the restrictions on jumping in Try/Catch statements. * Reworded some other parts of the documentation. cexcept-example.c amc.0.5.0 --> example.c 0.6.0 * Now uses the 0.6.* interface, and demonstrates Catch_anonymous. cexcept-example2.c amc.0.5.0 --> example2.c 0.6.0 * Now uses the 0.6.* interface. cexcept-rationale amc.0.5.1 --> rationale 0.6.0 * Added rationale for the new Catch expression semantics. 2000-Apr-01-Fri cexcept.h amc.0.5.2 --> amc.0.5.3 * Eliminated a compiler warning about an uninitialized variable. * Improved the documentation of allowable exception types. * Added advice about using a macro for the_exception_context, and changed the example accordingly. * Improved the documentation regarding jumping out of Try and Catch. Earlier changes were not logged.