Чтобы ответить на ваш вопрос по его номинальной стоимости, вы можете проверить, присвоено ли ребру значение, используя
if (null == fin)
Однако действительная причина в том, что вы продолжаете выполнение, если выдается исключение.
try
{
fin=new FileInputStream(args[j]);
}
catch(Exception e)
{
System.out.print("Error Opening "+args[j]);
}
Приведенный выше блок не устанавливает fin
, если выдается исключение, но вы получаете доступ к fin
в следующей строке. Это также относится к fout
и fin1
.
Вы можете вложить другой код в блок try; на самом деле рекомендуется, если вы используете ресурсы, которые могут вызывать исключения при доступе к ним.