Restructured exceptions. Boost::exception is now used primarily.

This commit is contained in:
Christoph Jentzsch 2014-10-02 14:20:33 +02:00
parent 55d0e1c34e
commit f61c323244
5 changed files with 9 additions and 6 deletions

View File

@ -102,7 +102,7 @@ void Assembly::append(Assembly const& _a)
void Assembly::append(Assembly const& _a, int _deposit)
{
if (_deposit > _a.m_deposit)
throw InvalidDeposit();
BOOST_THROW_EXCEPTION(InvalidDeposit());
else
{
append(_a);

View File

@ -111,7 +111,7 @@ public:
std::ostream& streamOut(std::ostream& _out, std::string const& _prefix = "") const;
private:
void donePath() { if (m_totalDeposit != INT_MAX && m_totalDeposit != m_deposit) throw InvalidDeposit(); }
void donePath() { if (m_totalDeposit != INT_MAX && m_totalDeposit != m_deposit) BOOST_THROW_EXCEPTION(InvalidDeposit()); }
unsigned bytesRequired() const;
unsigned m_usedTags = 0;

View File

@ -50,7 +50,7 @@ public:
private:
void finalise(CompilerState const& _cs);
template <class T> void error() const { throw T(); }
template <class T> void error() const { BOOST_THROW_EXCEPTION(T() ); }
void constructOperation(sp::utree const& _t, CompilerState& _s);
bool m_finalised = false;

View File

@ -43,7 +43,10 @@ bytes dev::eth::compileLLL(string const& _src, bool _opt, vector<string>* _error
catch (Exception const& _e)
{
if (_errors)
_errors->push_back(_e.description());
{
_errors->push_back("Parse error.");
_errors->push_back(diagnostic_information(_e));
}
}
catch (std::exception)
{
@ -67,7 +70,7 @@ std::string dev::eth::compileLLLToAsm(std::string const& _src, bool _opt, std::v
catch (Exception const& _e)
{
if (_errors)
_errors->push_back(_e.description());
_errors->push_back(diagnostic_information(_e));
}
catch (std::exception)
{

View File

@ -140,6 +140,6 @@ void dev::eth::parseTreeLLL(string const& _s, sp::utree& o_out)
qi::phrase_parse(ret, s.cend(), element, space, qi::skip_flag::dont_postskip, o_out);
for (auto i = ret; i != s.cend(); ++i)
if (!isspace(*i))
throw std::exception();
BOOST_THROW_EXCEPTION(std::exception());
}