How to write custom errors and return messages with error keyword Solidity

Viewed 38

I tried to make a custom error but it doesn't return a message to revert How could I make it return a message?

/// custom error
error MyCustomError(address _address);

if user { revert MyCustomError({address: msg.sender}) }

I got this error

Runtime error: revert
1 Answers

There are two errors:

1- if statement should be inside a function

2- when you defined the custom error,you defined the named parameter as _address

contract Test {
    address public user;
    /// custom error
    error MyCustomError(address _address);

    function revertError() public view {
    // I just had to pass a valid condition. address(0)=0x0000000000000000000000000000000000000000
    // if(user) would give this error: "Type address is not implicitly convertible to expected type bool"
    if(user!=address(0)) 
    { 
        revert MyCustomError({_address: msg.sender});
        }
    }
 }
Related