implemented try catch blocks on adding to hashmap to allow graceful handling of exceptions

This commit is contained in:
Karl-Wilfried Zimmer 2024-02-08 22:54:01 +01:00
parent 82df61e07a
commit a71cf2f949

View File

@ -43,26 +43,47 @@ foreach ($elem in $Elements){
continue
}
$date = $elem.SubString(0,$elem.IndexOf(" ",($indexOfFirst + 1)))
$timeStamp = ConvertDate($date)
$rest = $elem.Substring($elem.IndexOf(" ",($indexOfFirst + 1))+1)
$vmName = GetVMName($rest)
$backUpState = DeterminState($rest)
$timeStamp
if($HashTable.ContainsKey($vmName)){
$array = $HashTable[$vmName]
try {
$timeStamp = ConvertDate($date)
$array += New-Object psobject -Property @{
state = $backUpState
ts = $timeStamp
}
}
catch {
foreach ($i in (($array.Count-1)..0)){
Write-Host $array[$i]
if ($array[$i]["state"] -eq 'Started') {
Write-Host "found started"
$timeStamp = $array[$i]['ts']
}
}
$array += New-Object psobject -Property @{
state = $backUpState
ts = $timeStamp
}
}
$HashTable[$vmName]=$array
} else {
try {
$timeStamp = ConvertDate($date)
$HashTable += @{$vmName=@(New-Object psobject -Property @{
state = $backUpState
ts = $timeStamp
})}
}
catch {
<#Do nothing as key is empty and failed state#>
}
$HashTable
}
}
return $HashTable
}
function getElems {