온라인 링크를 통해 8 개의 장치 네트워크에서 데이터를 가져와야하는 학술 소프트웨어를 작성하고 있습니다. 이 장치는 때때로 데이터가 없거나 null 데이터를 반환하는 방식으로 구성됩니다. 그리고이 데이터를 오랫동안 수집해야합니다. null stream
이있을 때마다예외 발생 후 자동으로 계속
public static void ParseJsonStatic(string link, ...9)
{
/access the URLs in a suitable interval and process data
var client = new WebClient();
var stream = client.OpenRead(link);
Debug.Assert(stream != null, "stream != null");
var reader = new StreamReader(stream);
var rootObject = JsonConvert.DeserializeObject<RootObject>(reader.ReadToEnd());
....
}
그래서, Visual Studio를 일시 중지하고 나에게 예외 거품을 표시하고 나는이 버튼을 계속 클릭해야 할 것 : 여기 코드입니다.
이 문제를 처리하고 내 코드는 이러한 상황이 발생하면 처음부터 계속 실행되었는지 확인하는 방법이 있나요. 그래서 내가 원하는 것은 이것이다 :
while (stream == null) { ... retry to read stream and don't trigger nullPointerException... }
중간에 일시 정지하여 특정 간격에 따라 데이터 수집의 내 목적을 실패하고 또한 내가 긴 간격에 대한 다음과 같은 무인을 떠날 수 없기 때문에.
감사합니다.
원하는 것을 확신하지 못합니다. "while (stream == null) {... 스트림을 읽으려고합니다.}"와 (와) 비슷한가요? 아니면 "if (stream == null) {return}"입니까? – fafl
'(stream == null) {... 스트림을 읽으려고 재 시도 ...}'하고 무언가를하고 싶습니다. –
예외를 '해제'할 수 없습니다. 귀하의 컴퓨터가 당신에게 뭔가를 말한 방법은 잘못되었습니다. 당신이 할 수있는 일은 그것을 잡아 예외를 처리하는 무언가를 작성하는 것입니다 (즉, 모든 것을 루프에 배치하고 이스케이프 요소를 false로 설정하여 재시도 트리거). –