Commit 0c772c4c authored by Jesse Beder's avatar Jesse Beder
Browse files

Set LoadFile and LoadAllFromFile to throw an exception if we can't load the file

parent a03e861d
......@@ -70,6 +70,7 @@ namespace YAML
const char * const INVALID_ANCHOR = "invalid anchor";
const char * const INVALID_ALIAS = "invalid alias";
const char * const INVALID_TAG = "invalid tag";
const char * const BAD_FILE = "bad file";
template <typename T>
inline const std::string KEY_NOT_FOUND_WITH_KEY(const T&, typename disable_if<is_numeric<T> >::type * = 0) {
......@@ -190,6 +191,11 @@ namespace YAML
EmitterException(const std::string& msg_)
: Exception(Mark::null(), msg_) {}
};
class BadFile: public Exception {
public:
BadFile(): Exception(Mark::null(), ErrorMsg::BAD_FILE) {}
};
}
#endif // EXCEPTIONS_H_62B23520_7C8E_11DE_8A39_0800200C9A66
......@@ -30,6 +30,8 @@ namespace YAML
Node LoadFile(const std::string& filename) {
std::ifstream fin(filename.c_str());
if(!fin)
throw BadFile();
return Load(fin);
}
......@@ -59,6 +61,8 @@ namespace YAML
std::vector<Node> LoadAllFromFile(const std::string& filename) {
std::ifstream fin(filename.c_str());
if(!fin)
throw BadFile();
return LoadAll(fin);
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment