/* $Id$
This file is part of libmspdatafile
-Copyright © 2006 Mikko Rasa, Mikkosoft Productions
+Copyright © 2006-2008 Mikko Rasa, Mikkosoft Productions
Distributed under the LGPL
*/
cur_st=&st;
ActionMap::iterator j=actions.find(st.keyword);
if(j==actions.end())
- throw KeyError(st.get_location()+": Unknown keyword", st.keyword);
+ throw_at(KeyError("Unknown keyword", st.keyword), st.get_location());
if(j->second)
- j->second->execute(*this, st);
+ {
+ try
+ {
+ j->second->execute(*this, st);
+ }
+ catch(Exception &e)
+ {
+ if(!e.where()[0])
+ e.at(st.get_location());
+ throw;
+ }
+ }
cur_st=0;
}