implement alphabet for sequence
[mussa.git] / mussa_exceptions.hpp
1 #ifndef _MUSSA_EXCEPTIONS_H_
2 #define _MUSSA_EXCEPTIONS_H_
3 #include <stdexcept>
4 #include <boost/filesystem/exception.hpp>
5
6 //! base mussa exception
7 class mussa_error : public std::runtime_error
8 {
9 public:
10   explicit mussa_error(const std::string& msg): std::runtime_error(msg) {};
11 };
12
13 //! Error processing commandline arguments
14 class cmdline_error : public mussa_error
15 {
16 public:
17   explicit cmdline_error(const std::string& msg): mussa_error(msg) {};
18 };
19 //! Error trying to save 
20 class mussa_save_error : public mussa_error
21 {
22 public:
23   explicit mussa_save_error(const std::string& msg) :
24     mussa_error(msg) {};
25 };
26 //! Error loading information
27 class mussa_load_error : public mussa_error
28 {
29 public:
30   explicit mussa_load_error(const std::string& msg) : 
31     mussa_error(msg) {};
32 };
33
34 //! Error loading sequence
35 class sequence_load_error : public mussa_load_error
36 {
37 public:
38   explicit sequence_load_error(const std::string& msg) :
39     mussa_load_error(msg) {};
40 };
41
42 // Empty sequence
43 class sequence_empty_error : public sequence_load_error 
44 {
45 public:
46   explicit sequence_empty_error(const std::string& msg) :
47     sequence_load_error(msg) {};
48 };
49
50 // Empty fasta file
51 class sequence_empty_file_error : public sequence_load_error 
52 {
53 public:
54   explicit sequence_empty_file_error(const std::string& msg) :
55     sequence_load_error(msg) {};
56 };
57
58 // Empty unrecognized characters
59 class sequence_invalid_load_error : public sequence_load_error 
60 {
61 public:
62   explicit sequence_invalid_load_error(const std::string& msg) :
63     sequence_load_error(msg) {};
64 };
65 //! failure running analysis
66 class mussa_analysis_error : public mussa_error
67 {
68 public:
69   explicit mussa_analysis_error(const std::string& msg) : 
70     mussa_error(msg) {};
71 };
72
73 class motif_normalize_error : public mussa_error
74 {
75 public:
76   explicit motif_normalize_error(const std::string& msg) : 
77     mussa_error(msg) {};
78 };
79
80 //! ConservedPath::nextTo had two paths that weren't the same size
81 class conserved_path_size_mismatch : public mussa_error
82 {
83 public:
84   explicit conserved_path_size_mismatch(const std::string& msg) :
85     mussa_error(msg) {};
86 };
87 #endif