while (true) {
try {
//create ImportantObject
LoopToGoTo:
for (int i = 0; i < Limit; i++) {
//method in here throws the exception
//ImportantObject is used in here.
}
} catch(Exception e) {
//report error
continue LoopToGoTo;
}
}
try catch 블록 안에있는 루프에서 계속하고 싶습니다. 이것이 가능한가?'continue with label'을 사용하여 내부 for 루프에 도달하십시오.
편집 : 죄송 합니다만, 왜 try catch를 for 루프 내부로 옮길 수 없었는지 명확하지 않았습니다. (편집 된 스 니펫) try-catch를 for 루프 안에 넣으면 내부의 호출이 ImportantObject에 액세스 할 수 없게됩니다. 이것이 내가 붙어있는 곳입니다.
EDIT2 : 좋아요, 그래도 라벨을 계속 사용하지 않아도 문제가 해결되었습니다. 내 질문에 대한 대답은 단순한 '아니오'라고 생각합니다. 나쁜 습관이 온통 있을지 모르지만, 2 시간 안에 임무가 끝납니다. 내가 무엇을 말할 수 있습니까? D
//ImportantClass ImportantObject = null;
while (!ranOnce) {
try {
//create ImportantObject
ranOnce = true;
} catch(Exception e) {
//report error
continue;
}
}
for (int i = 0; i < Limit; i++) {
try {
//method in here throws the exception
//ImportantObject is used in here.
} catch(Exception e) {
//report error
continue;
}
}
아무 것도 할 필요가 없으며 for 루프가 계속됩니다. –
"try-catch를 for 루프 안에 넣으면 내부의 호출이 ImportantObject에 액세스 할 수 없게됩니다. 여기가 내가 고생 한 곳입니다." - 이해가 안되요 - ImportantObject를 만들고 for 루프를 입력 한 다음 try 루프를 입력하십시오 - 작동하지 않습니까? –