存在しないレジストリ キーを見つけようとすると、未処理の例外がスローされます。
checkKey が null を返し、.GetValue を続行しようとすると、例外がスローされるようです。
public static string getDirectory(string path, string subpath)
{
if (checkKey(path).GetValue(subpath) != null)
{
return checkKey(path).GetValue(subpath).ToString();
}
else
{
return null;
}
}
if (checkKey(path) != null & checkKey(path).GetValue(subpath) != null) を試しましたが、問題は解決しませんでした。
public static RegistryKey checkKey(string key)
{
if (getBaseCurrent64().OpenSubKey(key) != null)
{
return getBaseCurrent64().OpenSubKey(key);
}
else if (getBaseLocal64().OpenSubKey(key) != null)
{
return getBaseLocal64().OpenSubKey(key);
}
return null;
}
これは try catch で解決できますが、これは間違っているように感じます。
敬具、