Branch data Line data Source code
1 : : /* errorhandler.cc - Decide if a Xapian::Error exception should be ignored.
2 : : *
3 : : * Copyright (C) 2006,2007 Olly Betts
4 : : *
5 : : * This program is free software; you can redistribute it and/or
6 : : * modify it under the terms of the GNU General Public License as
7 : : * published by the Free Software Foundation; either version 2 of the
8 : : * License, or (at your option) any later version.
9 : : *
10 : : * This program is distributed in the hope that it will be useful,
11 : : * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 : : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 : : * GNU General Public License for more details.
14 : : *
15 : : * You should have received a copy of the GNU General Public License
16 : : * along with this program; if not, write to the Free Software
17 : : * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 : : */
19 : :
20 : : #include <config.h>
21 : :
22 : : #include <xapian/error.h>
23 : : #include <xapian/errorhandler.h>
24 : :
25 [ # # ][ # # ]: 0 : Xapian::ErrorHandler::~ErrorHandler() { }
[ # # ]
26 : :
27 : : void
28 : 0 : Xapian::ErrorHandler::operator()(Xapian::Error & error)
29 : : {
30 : 0 : bool already_handled = error.already_handled;
31 : 0 : error.already_handled = true;
32 [ # # ][ # # ]: 0 : if (already_handled || !handle_error(error)) {
[ # # ]
33 : 0 : throw error;
34 : : }
35 : 0 : }
|