Merge trees from few files

Hello,
I’m trying to merge trees from few files. Code looks like:

[i]int main()
{
TChain * chain = new TChain(“TreeName”);
chain->Add(FullFileName1);
chain->Add(FullFileName2);
chain->Add(FullFileName3);
chain->Add(FullFileName…);
chain->Add(FullFileNameN);

TFile *file = TFile::Open(“OutFilename”,“RECREATE”);
file->mkdir(“TreeName”)->cd();
chain->Merge(“OutFileName”);
}[/i]
But, unfortunately, some files contains incorrect data. In this case I get message like
Error in TRFIOFile::ReadBuffer: error reading all requested bytes from file rfio:///castor/cern.ch/grid/atlas/caf/trig1_misal1_mc12/trig1_misal1_mc12.005802.JF17_pythia_jet_filter.recon.NTUP.v12000601_tid005955/trig1_misal1_mc12.005802.JF17_pythia_jet_filter.recon.NTUP.v12000601_tid005955._00328.root, got 0 of 6682712
Error in TBranchElement::GetBasket: File: rfio:///castor/cern.ch/grid/atlas/caf/trig1_misal1_mc12/trig1_misal1_mc12.005802.JF17_pythia_jet_filter.recon.NTUP.v12000601_tid005955/trig1_misal1_mc12.005802.JF17_pythia_jet_filter.recon.NTUP.v12000601_tid005955._00328.root at byte:0, branch:Type, entry:101, badread=1

and programm is interrupted. The question is how to skip bad file without programm interruption.

Thanks in advance.