mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Catch panic.
This commit is contained in:
@@ -841,7 +841,15 @@ TryCatchClause const* TryStatement::successClause() const
|
||||
return m_clauses[0].get();
|
||||
}
|
||||
|
||||
TryCatchClause const* TryStatement::structuredClause() const
|
||||
TryCatchClause const* TryStatement::panicClause() const
|
||||
{
|
||||
for (size_t i = 1; i < m_clauses.size(); ++i)
|
||||
if (m_clauses[i]->errorName() == "Panic")
|
||||
return m_clauses[i].get();
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
TryCatchClause const* TryStatement::errorClause() const
|
||||
{
|
||||
for (size_t i = 1; i < m_clauses.size(); ++i)
|
||||
if (m_clauses[i]->errorName() == "Error")
|
||||
|
||||
@@ -1494,6 +1494,8 @@ private:
|
||||
* Syntax:
|
||||
* try <call> returns (uint x, uint y) {
|
||||
* // success code
|
||||
* } catch Panic(uint errorCode) {
|
||||
* // panic
|
||||
* } catch Error(string memory cause) {
|
||||
* // error code, reason provided
|
||||
* } catch (bytes memory lowLevelData) {
|
||||
@@ -1524,7 +1526,8 @@ public:
|
||||
std::vector<ASTPointer<TryCatchClause>> const& clauses() const { return m_clauses; }
|
||||
|
||||
TryCatchClause const* successClause() const;
|
||||
TryCatchClause const* structuredClause() const;
|
||||
TryCatchClause const* panicClause() const;
|
||||
TryCatchClause const* errorClause() const;
|
||||
TryCatchClause const* fallbackClause() const;
|
||||
|
||||
private:
|
||||
|
||||
Reference in New Issue
Block a user