Altered the profile read exception handling a little.
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Globalization;
|
||||
using ASCOM.Utilities;
|
||||
using ASCOM.Utilities.Interfaces;
|
||||
|
||||
@@ -7,7 +8,11 @@ namespace ASCOM.Meade.net.Wrapper
|
||||
{
|
||||
public interface IProfileWrapper : IProfile, IProfileExtra, IDisposable
|
||||
{
|
||||
int GetValueInt(string driverId, string name, string subKey, string defaultValue);
|
||||
short GetValueShort(string driverId, string name, string subKey, string defaultValue);
|
||||
|
||||
bool GetValueBool(string driverId, string name, string subKey, string defaultValue);
|
||||
double GetValueDouble(string driverId, string name, string subKey, string defaultValue);
|
||||
}
|
||||
|
||||
public class ProfileWrapper : IProfileWrapper
|
||||
@@ -36,7 +41,68 @@ namespace ASCOM.Meade.net.Wrapper
|
||||
|
||||
public string GetValue(string driverId, string name, string subKey, string defaultValue)
|
||||
{
|
||||
return _profile.GetValue(driverId, name, subKey, defaultValue);
|
||||
try
|
||||
{
|
||||
return _profile.GetValue(driverId, name, subKey, defaultValue);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw new GetValueException(driverId, name, subKey, defaultValue, e);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public int GetValueInt(string driverId, string name, string subKey, string defaultValue)
|
||||
{
|
||||
var value = _profile.GetValue(driverId, name, subKey, defaultValue);
|
||||
try
|
||||
{
|
||||
return int.Parse(value, CultureInfo.InvariantCulture);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw new GetValueException(driverId, name, subKey, defaultValue, value, e);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public short GetValueShort(string driverId, string name, string subKey, string defaultValue)
|
||||
{
|
||||
var value = _profile.GetValue(driverId, name, subKey, defaultValue);
|
||||
try
|
||||
{
|
||||
return short.Parse(value, CultureInfo.InvariantCulture);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw new GetValueException(driverId, name, subKey, defaultValue, value, e);
|
||||
}
|
||||
}
|
||||
|
||||
public bool GetValueBool(string driverId, string name, string subKey, string defaultValue)
|
||||
{
|
||||
var value = _profile.GetValue(driverId, name, subKey, defaultValue);
|
||||
try
|
||||
{
|
||||
return bool.Parse(value);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw new GetValueException(driverId, name, subKey, defaultValue, value, e);
|
||||
}
|
||||
}
|
||||
|
||||
public double GetValueDouble(string driverId, string name, string subKey, string defaultValue)
|
||||
{
|
||||
var value = _profile.GetValue(driverId, name, subKey, defaultValue);
|
||||
try
|
||||
{
|
||||
return double.Parse(value, CultureInfo.InvariantCulture);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
throw new GetValueException(driverId, name, subKey, defaultValue, value, e);
|
||||
}
|
||||
}
|
||||
|
||||
public void WriteValue(string driverId, string name, string value, string subKey)
|
||||
|
||||
Reference in New Issue
Block a user