From a7d583e0fb032891897b2acc9e9673537906f983 Mon Sep 17 00:00:00 2001 From: ilor <kailoran@gmail.com> Date: Mon, 29 Nov 2010 14:18:19 +0100 Subject: [PATCH] rework regex exception message --- libwccl/ops/functions/bool/predicates/regex.cpp | 14 ++++++-------- libwccl/ops/functions/bool/predicates/regex.h | 9 +++------ 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/libwccl/ops/functions/bool/predicates/regex.cpp b/libwccl/ops/functions/bool/predicates/regex.cpp index 1e4a7d8..93cfaf9 100644 --- a/libwccl/ops/functions/bool/predicates/regex.cpp +++ b/libwccl/ops/functions/bool/predicates/regex.cpp @@ -11,21 +11,19 @@ RegexParseError::RegexParseError( const UErrorCode& status_code, const UParseError& parse_error) : WcclError("Could not parse regular expression."), + pattern(pattern), status(u_errorName(status_code)), - pattern_line(parse_error.line), - offset(parse_error.offset), - pre_context(PwrNlp::to_utf8(UnicodeString(parse_error.preContext))), - error(PwrNlp::to_utf8(UnicodeString(parse_error.postContext))), - expression(PwrNlp::to_utf8(UnicodeString(pattern))) + upe(parse_error) { } std::string RegexParseError::info() const { std::stringstream ss; - ss << "Could not parse regular expression at line " << pattern_line - << " offset " << offset << ". Status: " << status - << ". Error: " << error << ". Expression was: " << expression; + ss << "Could not parse regular expression at line " << upe.line + << " offset " << upe.offset << ". Status: " << status + << ". Error: " << PwrNlp::to_utf8(UnicodeString(upe.postContext)) + << ". Expression was: " << PwrNlp::to_utf8(pattern); return ss.str(); } diff --git a/libwccl/ops/functions/bool/predicates/regex.h b/libwccl/ops/functions/bool/predicates/regex.h index 7304239..367eb96 100644 --- a/libwccl/ops/functions/bool/predicates/regex.h +++ b/libwccl/ops/functions/bool/predicates/regex.h @@ -68,12 +68,9 @@ public: std::string info() const; - const std::string status; - const int pattern_line; - const int offset; - const std::string pre_context; - const std::string error; - const std::string expression; + UnicodeString pattern; + std::string status; + UParseError upe; }; } /* end ns Wccl */ -- GitLab