do not raise an error, send it in the result instead
[electrum-server.git] / backends / bitcoind / blockchain_processor.py
index 6f4390f..83c79ac 100644 (file)
@@ -591,9 +591,13 @@ class BlockchainProcessor(Processor):
                     print_log( "error:", error)
 
         elif method == 'blockchain.transaction.broadcast':
-            txo = self.bitcoind('sendrawtransaction', params)
-            print_log( "sent tx:", txo )
-            result = txo 
+            try:
+                txo = self.bitcoind('sendrawtransaction', params)
+                print_log( "sent tx:", txo )
+                result = txo 
+            except BaseException, e:
+                result = str(e) # do not send an error
+                print_log( "error:", str(e), params )
 
         elif method == 'blockchain.transaction.get_merkle':
             if cache_only: