in reply to Reading multiple files one line at a time from arguments
Your approach seems sensible to me. A production version of such an application would probably handle the “cannot open” case by print STDERR some-message, then by incrementing a count of files that could not be opened. If, at the end of the loop, this count is non-zero, the program would exit() with some non-zero return code that could easily be checked by a calling script.
The STDERR output-stream is specifically provided for error-message outputs.