From 3f376a092e1c16429fb52f24736e9da98aff4cd5 Mon Sep 17 00:00:00 2001 From: sapier Date: Wed, 5 Feb 2014 01:35:40 +0100 Subject: Fix settings to honor numeric conversion errors Rename try* non exceptioning functions to *NoEx --- src/settings.h | 42 +++++++++++++++++++++++++++++++----------- 1 file changed, 31 insertions(+), 11 deletions(-) (limited to 'src/settings.h') diff --git a/src/settings.h b/src/settings.h index f019ce50c..11b11e635 100644 --- a/src/settings.h +++ b/src/settings.h @@ -745,17 +745,19 @@ fail: } //////////// Try to get value, no exception thrown - bool tryGet(std::string name, std::string &val) + bool getNoEx(std::string name, std::string &val) { try { val = get(name); return true; } catch (SettingNotFoundException &e) { return false; + } catch (NumericException &e) { + return false; } } - bool tryGetFlagStr(std::string name, u32 &val, FlagDesc *flagdesc) + bool getFlagStrNoEx(std::string name, u32 &val, FlagDesc *flagdesc) { try { val = getFlagStr(name, flagdesc); @@ -765,93 +767,111 @@ fail: } } - bool tryGetFloat(std::string name, float &val) + bool getFloatNoEx(std::string name, float &val) { try { val = getFloat(name); return true; } catch (SettingNotFoundException &e) { return false; + } catch (NumericException &e) { + return false; } } - bool tryGetU16(std::string name, int &val) + bool getU16NoEx(std::string name, int &val) { try { val = getU16(name); return true; } catch (SettingNotFoundException &e) { return false; + } catch (NumericException &e) { + return false; } } - bool tryGetU16(std::string name, u16 &val) + bool getU16NoEx(std::string name, u16 &val) { try { val = getU16(name); return true; } catch (SettingNotFoundException &e) { return false; + } catch (NumericException &e) { + return false; } } - bool tryGetS16(std::string name, int &val) + bool getS16NoEx(std::string name, int &val) { try { val = getU16(name); return true; } catch (SettingNotFoundException &e) { return false; + } catch (NumericException &e) { + return false; } } - bool tryGetS16(std::string name, s16 &val) + bool getS16NoEx(std::string name, s16 &val) { try { val = getS16(name); return true; } catch (SettingNotFoundException &e) { return false; + } catch (NumericException &e) { + return false; } } - bool tryGetS32(std::string name, s32 &val) + bool getS32NoEx(std::string name, s32 &val) { try { val = getS32(name); return true; } catch (SettingNotFoundException &e) { return false; + } catch (NumericException &e) { + return false; } } - bool tryGetV3F(std::string name, v3f &val) + bool getV3FNoEx(std::string name, v3f &val) { try { val = getV3F(name); return true; } catch (SettingNotFoundException &e) { return false; + } catch (NumericException &e) { + return false; } } - bool tryGetV2F(std::string name, v2f &val) + bool getV2FNoEx(std::string name, v2f &val) { try { val = getV2F(name); return true; } catch (SettingNotFoundException &e) { return false; + } catch (NumericException &e) { + return false; } } - bool tryGetU64(std::string name, u64 &val) + bool getU64NoEx(std::string name, u64 &val) { try { val = getU64(name); return true; } catch (SettingNotFoundException &e) { return false; + } catch (NumericException &e) { + return false; } } -- cgit v1.2.3