From 774bb8ab3baa9d7b5e6368dcd0f887b13ff26ae8 Mon Sep 17 00:00:00 2001 From: chriseth Date: Sun, 7 Aug 2016 19:46:11 +0200 Subject: Make function calls throw if target does not have code. Low-level calls still just execute and will actually report "success". This allows `x.call.value(y)()` for x being a non-contract account. --- docs/control-structures.rst | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'docs') diff --git a/docs/control-structures.rst b/docs/control-structures.rst index a6daccac..5b78d099 100644 --- a/docs/control-structures.rst +++ b/docs/control-structures.rst @@ -69,6 +69,10 @@ this does not execute a constructor. We could also have used ``function setFeed( only (locally) sets the value and amount of gas sent with the function call and only the parentheses at the end perform the actual call. +Function calls cause exceptions if the called contract does not exist (in the +sense that the account does not contain code) or if the called contract itself +throws an exception or goes out of gas. + .. warning:: Any interaction with another contract imposes a potential danger, especially if the source code of the contract is not known in advance. The current -- cgit