aboutsummaryrefslogtreecommitdiffstats
path: root/solc/CommandLineInterface.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'solc/CommandLineInterface.cpp')
-rw-r--r--solc/CommandLineInterface.cpp23
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)