diff options
Diffstat (limited to 'solc/CommandLineInterface.cpp')
-rw-r--r-- | solc/CommandLineInterface.cpp | 23 |
1 files changed, 6 insertions, 17 deletions
diff --git a/solc/CommandLineInterface.cpp b/solc/CommandLineInterface.cpp index be10faa8..42b65d4c 100644 --- a/solc/CommandLineInterface.cpp +++ b/solc/CommandLineInterface.cpp @@ -502,21 +502,6 @@ bool CommandLineInterface::processInput() return false; m_compiler->link(m_libraries); } - catch (ParserError const& _exception) - { - SourceReferenceFormatter::printExceptionInformation(cerr, _exception, "Parser error", *m_compiler); - return false; - } - catch (DeclarationError const& _exception) - { - SourceReferenceFormatter::printExceptionInformation(cerr, _exception, "Declaration error", *m_compiler); - return false; - } - catch (TypeError const& _exception) - { - SourceReferenceFormatter::printExceptionInformation(cerr, _exception, "Type error", *m_compiler); - return false; - } catch (CompilerError const& _exception) { SourceReferenceFormatter::printExceptionInformation(cerr, _exception, "Compiler error", *m_compiler); @@ -528,9 +513,13 @@ bool CommandLineInterface::processInput() << boost::diagnostic_information(_exception); return false; } - catch (DocstringParsingError const& _exception) + catch (Error const& _error) { - cerr << "Documentation parsing error: " << *boost::get_error_info<errinfo_comment>(_exception) << endl; + if (_error.type() == Error::Type::DocstringParsingError) + cerr << "Documentation parsing error: " << *boost::get_error_info<errinfo_comment>(_error) << endl; + else + SourceReferenceFormatter::printExceptionInformation(cerr, _error, _error.typeName(), *m_compiler); + return false; } catch (Exception const& _exception) |