После throw вы попадете в catch (код ниже throw не выполняется). Единственный блок, который выполняется, - это наконец.
Если вы хотите достичь чего-то похожего на то, что вы описали выше, выберите что-то вроде этого:
object returnVal = null; // the bad
try
{
//some code here
throw new Exception(); // something bad happened
//some more code
returnVal = new object(); // the good
}
catch(Exception ex)
{
// log, try to recover etc.
// maybe it`s a good idea not to throw it away if you can handle it here!
}
return returnVal; // either the good or the bad (never the ugly!)
Эквивалент C # предупреждения является ошибкой компилятора, поэтому ни в коем случае не думаю, что хорошей идеей является избавление от предупреждений компилятора, а попытка их решить.
Привет ...