I'm in agreement with frozenkoi, however, for C# anyways, I thought it would help to follow the syntax of the TryParse methods.

<!-- language-all: lang-cs -->

    if(FileExists(file) && TryOpenFile(file, out contents))
    	DoSomething(contents);
    else
    	DefaultAction();

<!-- -->

    bool TryOpenFile(object file, out object contents)
    {
    	try{
    		contents = OpenFile(file);
    	}
    	catch{
    		//something bad happened, computer probably exploded
    		return false;
    	}
    	return true;
    }