我正在導航windows phone 8.1應用程序。我使用try catch塊進行錯誤處理。只要我發送和無效的輸入到服務器,如「dfkdsf」,它會引發一個運行時異常錯誤,聲明無效參數,但catch塊不處理它。我哪裏錯了?無效的參數異常
public async void GetSearchAPIData()
{
try
{
JArray arr = JArray.Parse(await responce.Content.ReadAsStringAsync());
foreach (JObject obj in arr.Children<JObject>()) //exception thrown here!
{
noOfResult++;
JsonSerializerSettings settings = new JsonSerializerSettings();
settings.NullValueHandling = NullValueHandling.Ignore;
settings.MissingMemberHandling = MissingMemberHandling.Ignore;
var rcvdData = JsonConvert.DeserializeObject<LocationData>(obj.ToString(), settings);
//adding recieved data into a list..
RcvdSearchDataList.Add(rcvdData);
}
//changing current status on status bar..
statusBar.ProgressIndicator.Text = "Found " + noOfResult + " results for " + "\"" + UserRequestedLocation + "\"";
statusBar.ProgressIndicator.ProgressValue = 0;
if (RcvdSearchDataList.Count == 0)
{
statusBar.ProgressIndicator.Text = "We're Sorry! No matches found...";
statusBar.ProgressIndicator.ProgressValue = 0;
}
else
{
ResultListView = new ListView() { Margin = new Thickness(20), VerticalAlignment = VerticalAlignment.Center, HorizontalAlignment = HorizontalAlignment.Stretch };
ResultDataGrid.Children.Add(ResultListView);
for (int i = 0; i < RcvdSearchDataList.Count; i++)
{
UpdateSearchTextData(i);
}
}
UpdateSearchMapData(RcvdSearchDataList);
}
catch(Exception e)
{
string errorMessage = string.Format(
"An error occurred while looking for the requested location.\r\n\r\n{0:x}\r\n\r\n{1}", "HRESULT: " + e.HResult, "Message: " + e.Message);
ErrorDialog.Content = errorMessage;
await ErrorDialog.ShowAsync();
}
}
的JArray ARR具有從我不能處理
做這一行responce.Content.ReadAsStringAsync()產生一個新的線程?並在該線程trown異常?....你可以發佈堆棧跟蹤? – Viru
顯示你的model.or或檢查你的db列,可能參數名稱不匹配。我相信 –
@PankajGupta模型是完美的。一切工作正常,如果這是一個理想的情況下,像某人搜索德里或如果他拼錯delhi德爾福或什麼的,但我只是讓我的應用程序處理例外,如果用戶試圖玩耍。 –