|
@@ -71,15 +71,22 @@ namespace Hotline.Caching.Services
|
|
|
|
|
|
public T GetOrDefault<T>(string id, string code, string name, T defaultValue, string remark) where T : struct
|
|
|
{
|
|
|
- var value = GetOrSetDefault(code, name, defaultValue.ToString(), remark, id);
|
|
|
-
|
|
|
try
|
|
|
{
|
|
|
- return (T)Convert.ChangeType(value, typeof(T));
|
|
|
+ var value = GetOrSetDefault(code, name, defaultValue.ToString(), remark, id);
|
|
|
+
|
|
|
+ try
|
|
|
+ {
|
|
|
+ return (T)Convert.ChangeType(value, typeof(T));
|
|
|
+ }
|
|
|
+ catch (InvalidCastException e)
|
|
|
+ {
|
|
|
+ _logger.LogError($"无法将 '{value}' 转换为类型 {typeof(T).Name}!已返回默认值 {defaultValue}. {e.Message}");
|
|
|
+ }
|
|
|
}
|
|
|
- catch (InvalidCastException e)
|
|
|
+ catch (Exception e)
|
|
|
{
|
|
|
- _logger.LogError($"无法将 '{value}' 转换为类型 {typeof(T).Name}!已返回默认值 {defaultValue}. {e.Message}");
|
|
|
+ _logger.LogError(e.Message + e.StackTrace);
|
|
|
}
|
|
|
return defaultValue;
|
|
|
}
|