В Java все находится в форме класса.
Если вы хотите использовать любой объект, тогда у вас есть две фазы:
Пример:
Object a;
a=new Object();
То же самое для концепции массива
Item i[]=new Item[5];
i[0]=new Item();
Если вы не дают секцию инициализации, тогда возникает NullpointerException
.
Нет никакого эквивалента Catch…When
в C#. Необходимо будет действительно обратиться к if
оператор в Вашем catch
, затем повторно бросить, если условие не выполняется:
try
{
…
}
catch (ArgumentNullException e)
{
if ("SAMPLES" == e.ParamName.ToUpper())
{
… // handle exception
}
else
{
throw; // condition not fulfilled, let someone else handle the exception
}
}
Это не воссоздаст ту же семантику как Выгода VB Когда выражение. Существует одно основное отличие. VB, Когда выражение выполняется перед стеком, раскручиваются, происходит. Если бы необходимо было исследовать стек при, когда Фильтр, Вы на самом деле видели бы кадр, где исключение было выдано.
Наличие, если в блоке выгоды отличается, потому что блок выгоды выполняется после того, как стек раскручен. Это особенно важно когда дело доходит до сообщения об ошибке. В сценарии VB у Вас есть возможность катастрофического отказа с отслеживанием стека включая отказ. Не возможно получить то поведение в C#.
РЕДАКТИРОВАНИЕ:
Записал подробное сообщение в блоге на предмете.