diff options
author | Robin Watts <robin.watts@artifex.com> | 2013-06-18 20:14:40 +0100 |
---|---|---|
committer | Robin Watts <robin.watts@artifex.com> | 2013-06-19 11:52:11 +0100 |
commit | 8a22a7a76be8d9b439ee73383edbdf9d554bf3eb (patch) | |
tree | 116733ff35f20dddb247c412c842256cef68f5af /draw/draw_edge.c | |
parent | fe0be86de83b44ace49ceb540fc7f9e4db8253fb (diff) | |
download | mupdf-8a22a7a76be8d9b439ee73383edbdf9d554bf3eb.tar.xz |
Exception handling changes
In preparation for work on progressive loading, update the exception
handling scheme slightly.
Until now, exceptions (as thrown with fz_throw, and caught with
fz_try/fz_catch) have merely had an informative string. They have
never had anything that can be compared to see if an error is of
a particular type.
We now introduce error codes; when we fz_throw, we now always
give an error code, and can optionally (using fz_throw_message)
give both an error code and an informative string.
When we fz_rethrow from within a fz_catch, both the error code and
the error message is maintained. Using fz_rethrow_message we can
'improve' the error message, but the code is maintained.
The error message can be read out using fz_caught_message() and the
error code can be read as fz_caught().
Currently we only define a 'generic' error. This will expand in future
versions to include other error types that may be tested for.
Diffstat (limited to 'draw/draw_edge.c')
-rw-r--r-- | draw/draw_edge.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/draw/draw_edge.c b/draw/draw_edge.c index 41647b0e..5f2f45d3 100644 --- a/draw/draw_edge.c +++ b/draw/draw_edge.c @@ -702,7 +702,7 @@ fz_scan_convert_aa(fz_gel *gel, int eofill, const fz_irect *clip, { fz_free(ctx, alphas); fz_free(ctx, deltas); - fz_throw(ctx, "scan conversion failed (malloc failure)"); + fz_throw(ctx, FZ_ERROR_GENERIC, "scan conversion failed (malloc failure)"); } memset(deltas, 0, (xmax - xmin + 1) * sizeof(int)); gel->alen = 0; |