Using selfdestruct(beneficiary) with the beneficiary being a contract without a payable fallback function:
A.
will throw an exception, because the fallback function is non-payable and thus cannot receive ether.
B.
it's impossible to secure a contract against receiving ether, because selfdestruct will always send ether to the address in the argument. This is a design decision of the Ethereum platform.
C.
selfdestruct doesn't send anything to a contract, it just re-assigns the owner of the contract to a new person. Sending ether must be done outside of selfdestruct.
Chosen Answer:
This is a voting comment (?). You can switch to a simple comment. It is better to Upvote an existing comment if you don't have anything to add.
Submit