Added test cases to handle nonexistent files, unreadable files, and files that don't parse correctly.