1 #ifndef _MUSSA_EXCEPTIONS_H_
2 #define _MUSSA_EXCEPTIONS_H_
4 #include <boost/filesystem/exception.hpp>
6 //! base mussa exception
7 class mussa_error : public std::runtime_error
10 explicit mussa_error(const std::string& msg): std::runtime_error(msg) {};
13 //! Error processing commandline arguments
14 class cmdline_error : public mussa_error
17 explicit cmdline_error(const std::string& msg): mussa_error(msg) {};
19 //! Error trying to save
20 class mussa_save_error : public mussa_error
23 explicit mussa_save_error(const std::string& msg) :
26 //! Error loading information
27 class mussa_load_error : public mussa_error
30 explicit mussa_load_error(const std::string& msg) :
34 //! Error loading sequence
35 class sequence_load_error : public mussa_load_error
38 explicit sequence_load_error(const std::string& msg) :
39 mussa_load_error(msg) {};
43 class sequence_empty_error : public sequence_load_error
46 explicit sequence_empty_error(const std::string& msg) :
47 sequence_load_error(msg) {};
51 class sequence_empty_file_error : public sequence_load_error
54 explicit sequence_empty_file_error(const std::string& msg) :
55 sequence_load_error(msg) {};
58 // Empty unrecognized characters
59 class sequence_invalid_load_error : public sequence_load_error
62 explicit sequence_invalid_load_error(const std::string& msg) :
63 sequence_load_error(msg) {};
65 //! failure running analysis
66 class mussa_analysis_error : public mussa_error
69 explicit mussa_analysis_error(const std::string& msg) :
73 class motif_normalize_error : public mussa_error
76 explicit motif_normalize_error(const std::string& msg) :
80 //! ConservedPath::nextTo had two paths that weren't the same size
81 class conserved_path_size_mismatch : public mussa_error
84 explicit conserved_path_size_mismatch(const std::string& msg) :