兄弟连区块链入门教程区块链20以太坊智能合约solidity_第1页
兄弟连区块链入门教程区块链20以太坊智能合约solidity_第2页
兄弟连区块链入门教程区块链20以太坊智能合约solidity_第3页
兄弟连区块链入门教程区块链20以太坊智能合约solidity_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

兄弟连区块链教程区块链2.0以太坊智能合约solidity之helloworld兄弟连区块链教程区块链2.0以太坊智能合约solidity之helloworld“区块链+时代无疑会是下一个风口,然而现在的区块链行业专业型人才正在遭遇瓶颈”兄弟连教育区块链培训学院院长尹成表示,“希望能通过兄弟连教育区块链学院为社会为企业培养并输送更多优质的区块链高精尖型技术。恐慌概述代码在运行时如果出现异常,系统会报出恐慌(panic)并终止运行IDE和终端打印的恐慌日志,包含了恐慌的信息以及报恐慌所在的代码行恐慌好比一种震撼的暴力教育,其目的在于警示开发者,什么是可以的而什么又是不可以的代码在交付使用前要经过充分测试,处理一切可能的恐慌系统报恐慌本例中由于我们错误地使用了一个超出数组长度的下标,导致系统报出恐慌funcdemo21(){a:=[5]int{0,1,2,3,4}a[1]=123index:=2+8〃系统报恐慌:运行时错误(exe在执行的过程中发生的错误),下标越界//panic:runtimeerror:indexoutofrangea[index]=123}自己报恐慌• 除了系统报出恐慌以外,我们还可以通过内建函数panic自己报出恐慌1/4自己报恐慌的目的,是预测程序在运行时可能出现的异常情形,并提示当前代码的调用者以错误信息• 下面的例子中,计算圆面积这一函数在调用时如果传入了一个负数的半径,则会报出恐慌,提示半径是不可以为负数的,这样做相当于强制代码的调用者传入非负的半径funcgetCircleArea(radiusfloat32)(areafloat32){//如果半径参数为负数,则抛出异常ifradius<0{panic(”颤抖吧,您的智商已下线,半径不能为负数")}return3.14*radius*radius}funcdemo22(){〃程序会因为抛出的异常未经处理而崩溃getCircleArea(-5)}处理恐慌程序在上线前必须测试和扫灭所有可能的恐慌在没有对恐慌进行任何处理前,程序会在报恐慌的行崩溃Go语言提供了recover內建函数,让崩溃的程序复活并返回造成程序崩溃的error实例所以我们可以在正式的业务逻辑开始前,事先挂起一个延时处理恐慌的函数,在其中借助recover函数获得造成程序崩溃的error并处理当程序在123行崩溃时,123行以后的代码就不会再执行了,而是直接跳转到defer了的恐慌处理程序funcdemo23(){

//延时执行恐慌处理程序//延时到什么时候?①函数正常结束前②恐慌发生时(函数内恐慌以后的代码将不会执行)deferfunc(){iferr:=recover();err!=nil{fmt.Println(err)}}()//下面的函数会恐慌(报恐慌)getCircleArea(-5)//所以这里执行不到,而是直接跳到defer所定义的恐慌处理程序print(”这里有美女相赠")}F面这段代码对前面的demo23进行了调用由于demo23()是一个已经定义了恐慌处理方式的函数,程序不会因为demo23中的恐慌而崩溃funcdemo24(){〃本来该应该因恐慌而死,但已经在其中插入了异常(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论