summaryrefslogtreecommitdiffabout
authorMichael Krelin <hacker@klever.net>2005-03-31 14:16:18 (UTC)
committer Michael Krelin <hacker@klever.net>2005-03-31 14:16:18 (UTC)
commit333ec38b9a3a5a9d0f0fb03a97c004710ef525de (patch) (unidiff)
treee0a1e5b458ede7ca1b14cd6fb45d1ec648156494
parentef14961fe10614eb15c71dd5b0b83f292bd7a5b0 (diff)
downloadsitecing-333ec38b9a3a5a9d0f0fb03a97c004710ef525de.zip
sitecing-333ec38b9a3a5a9d0f0fb03a97c004710ef525de.tar.gz
sitecing-333ec38b9a3a5a9d0f0fb03a97c004710ef525de.tar.bz2
link_error exception introduced
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--include/sitecing/sitecing_exception.h29
-rw-r--r--lib/component_factory.cc3
2 files changed, 30 insertions, 2 deletions
diff --git a/include/sitecing/sitecing_exception.h b/include/sitecing/sitecing_exception.h
index bf475ac..cb5edd9 100644
--- a/include/sitecing/sitecing_exception.h
+++ b/include/sitecing/sitecing_exception.h
@@ -11,6 +11,34 @@
11namespace sitecing { 11namespace sitecing {
12 12
13 /** 13 /**
14 * The comonent failed to link.
15 */
16 class link_error : public konforka::exception {
17 public:
18 /**
19 * The component path
20 */
21 string component_path;
22
23 /**
24 * @param w the message.
25 * @param cp component path.
26 */
27 link_error(const string& w,const string& cp)
28 : konforka::exception(NOCODEPOINT,w), component_path(cp) { }
29 /**
30 * @param fi the file name where the exception is thrown from.
31 * @param fu the function name where the exception originates from.
32 * @param l the line number where the exception originates from.
33 * @param w the message.
34 * @param cp component path.
35 */
36 link_error(const string& fi,const string& fu,int l,const string& w,const string& cp)
37 : konforka::exception(fi,fu,l,w), component_path(cp) { }
38 ~link_error() throw() { }
39 };
40
41 /**
14 * The component failed to compile. 42 * The component failed to compile.
15 */ 43 */
16 class compile_error : public konforka::exception { 44 class compile_error : public konforka::exception {
@@ -37,6 +65,7 @@ namespace sitecing {
37 * @param fi the file name where the exception is thrown from. 65 * @param fi the file name where the exception is thrown from.
38 * @param fu the function name where the exception originates from. 66 * @param fu the function name where the exception originates from.
39 * @param l the line number where the exception originates from. 67 * @param l the line number where the exception originates from.
68 * @param w the message.
40 * @param cp component path. 69 * @param cp component path.
41 */ 70 */
42 compile_error(const string &fi,const string& fu,int l,const string& w,const string& cp) 71 compile_error(const string &fi,const string& fu,int l,const string& w,const string& cp)
diff --git a/lib/component_factory.cc b/lib/component_factory.cc
index a5ced6b..2a2eefe 100644
--- a/lib/component_factory.cc
+++ b/lib/component_factory.cc
@@ -172,8 +172,7 @@ namespace sitecing {
172 // TODO: "g++" configurable 172 // TODO: "g++" configurable
173 int rv = execute("g++",args,stdO,stdE); 173 int rv = execute("g++",args,stdO,stdE);
174 if(! (WIFEXITED(rv) && !WEXITSTATUS(rv)) ) 174 if(! (WIFEXITED(rv) && !WEXITSTATUS(rv)) )
175 // TODO:TODO: linker_error 175 throw link_error(CODEPOINT,"failed to link component",noro);
176 throw compile_error(CODEPOINT,"failed to link component",noro);
177 return; 176 return;
178 }catch(utility_no_prefix& unp) { 177 }catch(utility_no_prefix& unp) {
179 throw konforka::exception(CODEPOINT,"component is outside of component root"); 178 throw konforka::exception(CODEPOINT,"component is outside of component root");