Thanks for your comments and feedback. It means a lot to me. :-)
You are right, It's a matter of preference.
From my experience those kind of "errors" (1,2 & 3) shouldn't terminate the merge job, so I made joincap deal with it silently.
Usually if an input file doesn't exists (2) or is a directory (3) the user can't do anything to fix this other then fixing the command line, so joincap just ignores it and saves the user some time.
And if an input file is damaged (1), the user will probably want to fix it with pcapfix (which will usually just throw away the damaged packets) and then rerun the merge job. So if joincap encounters a damaged packet it throws it away and continues the merge job.
Anyway I'm open to more feedback and suggestions. :-)
Thanks!
Assaf.