From 0b41d9f30a6c949a880a4484939e2d4e5a71dd10 Mon Sep 17 00:00:00 2001 From: gb <741021719@qq.com> Date: Thu, 16 Nov 2023 09:23:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=93=E5=BC=80=E8=AE=BE=E5=A4=87=E6=97=B6?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=BC=82=E5=B8=B8=E5=A4=84=E7=90=86=EF=BC=8C?= =?UTF-8?q?=E4=BD=BFJSON=E9=85=8D=E7=BD=AE=E5=BC=82=E5=B8=B8=E6=97=B6?= =?UTF-8?q?=E8=83=BD=E5=A4=9F=E5=BF=AB=E9=80=9F=E9=80=80=E5=87=BA=EF=BC=8C?= =?UTF-8?q?=E5=B9=B6=E8=BF=94=E5=9B=9E=E6=8A=A5=E5=86=85=E9=83=A8=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hgdriver/hgdev/hg_scanner.cpp | 2 +- hgdriver/wrapper/huagaoxxx_warraper_ex.cpp | 22 +++++++++++++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/hgdriver/hgdev/hg_scanner.cpp b/hgdriver/hgdev/hg_scanner.cpp index 2d5c470..2eedc58 100644 --- a/hgdriver/hgdev/hg_scanner.cpp +++ b/hgdriver/hgdev/hg_scanner.cpp @@ -3120,7 +3120,7 @@ int hg_scanner::set_setting_value(const char* name, void* data, long* len) } int hg_scanner::on_scanner_closing(bool force) { - return SCANNER_ERR_DEVICE_NOT_SUPPORT; + return SCANNER_ERR_OK; } void hg_scanner::thread_handle_usb_read(void) diff --git a/hgdriver/wrapper/huagaoxxx_warraper_ex.cpp b/hgdriver/wrapper/huagaoxxx_warraper_ex.cpp index 9f1e45e..357dc52 100644 --- a/hgdriver/wrapper/huagaoxxx_warraper_ex.cpp +++ b/hgdriver/wrapper/huagaoxxx_warraper_ex.cpp @@ -13,6 +13,7 @@ #include #endif #include +#include #define MAKE_VERSION(a, b, c, d) \ @@ -138,7 +139,26 @@ extern "C" scanner_err hg_scanner_open(scanner_handle* h, const char* name, bool shared, const char* user, const char* pwd, const char* check, char* rsc) { - return hg_scanner_mgr::instance()->hg_scanner_open(h, name, shared, user, pwd, check, rsc); + try + { + return hg_scanner_mgr::instance()->hg_scanner_open(h, name, shared, user, pwd, check, rsc); + } + catch (std::exception& e) + { + if (h) + *h = nullptr; + VLOG_MINI_2(LOG_LEVEL_FATAL, "Exception occurs when open '%s': %s.\n", name, e.what()); + + return SCANNER_ERR_DATA_DAMAGED; + } + catch (...) + { + if (h) + *h = nullptr; + VLOG_MINI_1(LOG_LEVEL_FATAL, "Exception occurs when open '%s'!\n", name); + + return SCANNER_ERR_DATA_DAMAGED; + } } scanner_err hg_scanner_close(scanner_handle h, bool force)