Почему бы не вернуть void
? Если выдается исключение, вы об этом узнаете. Если он не выдан, вы знаете, что ваша функция успешно выполнена (возвращено значение true).
try
{
MyFunction();
//here you know it has successfully completed
}
catch(Exception e)
{
//...
}
Если, однако, вы переопределяете виртуальную функцию, которая возвращает bool, тогда вы, конечно, всегда можете вернуть true, так как вам все равно придется возвращать некоторое логическое значение. Если подумать, вы также можете вернуть false:)