Почему блок Try / Catch создает новую область видимости переменной?

Например:

try
{
    SomeObject someObject = new SomeObject();
    someObject.dangerousMethod();
}
catch(Exception e)
{
}
someObject.anotherMethod(); //can't access someObject!

Но вы можете объявить это доtry/catch блок, а затем он работает нормально:

SomeObject someObject;
try
{
    someObject = new SomeObject();
    someObject.dangerousMethod();
}
catch(Exception e)
{
}
someObject.anotherMethod(); //works fine

Мне просто интересно, почему это было задумано. Почему объекты создаются внутриtry/catch блок не в объеме с остальной частью метода? Может быть, я не понимаю в глубине души, какtry/catch работает кроме того, просто наблюдая заExceptions выброшены.

Ответы на вопрос(5)

Ваш ответ на вопрос