Это зависит от того, где лучше всего обрабатывать исключение.Если исключение восстанавливаемое и не влияет на ход программы, вы можете спокойно обработать его и записать в журнал.Если вы считаете, что вызывающий абонент может лучше решить, что делать, то выбросьте исключение.
Помните, что вы должны использовать исключения только в тех случаях, когда обстоятельства действительно исключительные - вещи вне контроля приложения,Приведенный выше пример не совсем идеален.Если вы выбрасываете исключение, зачем его ловить в строке ниже?Просто сделай
class Queue{
Object Queue<Object>::getFront( )
{
try
{
if( isEmpty( ) )
return null;
}
return queuearray[ front ];
}
}
}