title: how to catch ethereum contract exception?
body: <p>This is my simple contract</p>
  
  <pre><code>contract Test {
      /* This creates an array with all balances */
      mapping (address =&gt; uint256) public balanceOf;
  
      /* Initializes contract with initial supply tokens to the creator of the contract */
      function Test(
          uint256 initialSupply
          ) {
          balanceOf[msg.sender] = initialSupply;              // Give the creator all initial tokens
      }
  
      /* Send coins */
      function transfer(address _to, uint256 _value) {
          if (balanceOf[msg.sender] &lt; _value) throw;           // Check if the sender has enough
          if (balanceOf[_to] + _value &lt; balanceOf[_to]) throw; // Check for overflows
          balanceOf[msg.sender] -= _value;                     // Subtract from the sender
          balanceOf[_to] += _value;                            // Add the same to the recipient
      }
  
  function gettokenBalance(address to)constant returns (uint256){
            return balanceOf[to];
         }
  }
  </code></pre>
  
  <p>When i am transferring tokens more than intial supply to another account the function <code>transfer</code> should throws exception.</p>
  
  <p>How can i handle this exception and get to know transaction cannot complete.I am using web3j and calling function transfer like</p>
  
  <pre><code>Test test = Test.load(contractObj.getContractAddress(), web3j, credentials, gasprice,gaslimit);
  
  TransactionReceipt balanceOf = test.transfer(new Address(address), transferBalance).get(); 
  </code></pre>