try
블록 내에 개체 변수를 할당 할 수없는 이유는 무엇입니까?try 블록 내에 객체 변수를 할당 할 수없는 이유는 무엇입니까?
finally
블록에서 변수를 정리하면 "할당되지 않은 로컬 변수 사용"이라는 컴파일러 오류가 발생합니다. 변수가 try
블록 앞에 선언되어 있고 블록에 변수가 null
인지 먼저 확인하기 때문에 이는 의미가 없습니다.
왜 다음 코드를 컴파일 할 수 없습니까? dbc
이 null
인지 확인하기 때문에 할당되지 않은 변수를 사용하여 작업을 수행 할 가능성이 없습니다.
예 : DbConnection dbc = null;
로 선언 때문에 컴파일러는 변수가 할당되는 것을 확실하게 알 수
DbConnection dbc;
try {
dbc = <some method call returning an open DbConnection>
// do stuff
} catch (Exception e) { // do stuff }
finally {
if (dbc != null) {
dbc.Close();
}
}
어떤이
? – SteveCav
관련이있을 수 있음 : http://stackoverflow.com/questions/94977/why-arent-variables-declared-in-try-in-scope-in-catch-orfinally – cofiem
Jon Skeet이 아무데도 나타나지 않을 것입니다. 최고의 답을 얻으십시오. 하품 소리. –