再学:Error错误处理与try-catch && 创建合约-New、最小代理、Create2

1.原子性

若require走不下去,就会回滚,x += 1 就不会实现。

2.require:

如果不满足msg.sender == owner 这个条件,就会报 Not owner这个错误

如果,require抛出的自定义信息很长的话,就会很消耗gas。

推荐这种抛出错误的方式,消耗的gas比较少

 3.try catch

当出现调用外部函数异常时,又不想中断程序,就采用try catch方法。

out of gas 错误部署程序异常,错误不能捕获

error是四字节选择器,所以走的是errBytes这个分支

 若是require,就走errMsg这条分支

 

4.部署合约

new出一个二进制的字节码信息 

最小代理合约:认证便利,gas消耗少

最小代理合约在需要合约升级、节省gas费用、访问控制、跨合约调用和增加安全性的场景中非常有用。 

create2 提前确定地址 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值