Move Language Basic
Error Handling

Abort

  • abort error_code //error code is of type u64
abort 10;
assert!(expr, 10);
module jayden_address::Errors {
    const INVALID_ERROR: u64 = 100;
 
    fun error_check(exp: bool) {
        if (true) {
            do_something();
        } else {
            // abort INVALID_ERROR;
            assert!(true,INVALID_ERROR);
        }
    }
}
module my_addrx::Errors
{
    use std::debug::print;
    use std::string::utf8;
 
    fun isEven(num:u64)
    {
        if(num%2==0)
        {
            print(&utf8(b"No Error as the Number is Even"));
        }
        else
        {
            abort 11 //throwing error as the given number is not even
        }
    }
 
    #[test]
    fun testing()
    {
        isEven(3);
    }
}

Assert

  • assert!(expression: bool, error_code: u64)
module my_addrx::Errors
{
 
    fun isEven(num:u64)
    {
        assert!(num%2==0,11);
    }
 
    #[test]
    fun testing()
    {
        isEven(3);
    }
}