粉丝342获赞2617

爱迪尔常用快捷键之快速生成拆开取代码快在 ad 二中给我们提供了一个快捷键,帮助我们快速生成拆开取翻斗垒代码快。在这里我们以这样一个视力为 做演示。呃,我们可以看到这里直接 return 了一个方法, 我们按住这边选中这个行代码,然后选择 comequalatt 加 t, 然后他可以弹出一个对话框,显示 thrown the ways, 他表示被哪个代码快给包裹在这里我们选择穿翻的累的话,就被就会被穿翻的累快所包裹。像这里注视掉的代码一样,会生成一个 chicken 雷块,或者我们使用 ctrl rt 加 t, 在这里包括一个 try catch penalty 块之后,它会就会生成这样一个 try catch pentang 的一块,帮我们快速生成这样一个代码。

接下来我要讲的东西呢,是一些非常高端的内容。呃,因为这些的内容呢,他会对我们写代码造成影响,但是还是我刚才说的,一年就用不到一两次, 甚至呢一年都一次都用不到。只有你到什么时候才有用呢?写一些高端的代码,特别写一些公共库,公共框架,写这些东西的时候,这些知识就很有用了。第一点就是补货异常, 补货异常就是处理错误,是不是错误发生了,我们可能会对错误进行相应的处理,我们不希望程序终止,你不要停止程序,也不要在控制台阶报错,我知道怎么处理,那么这个叫补货异常啊,有错误我们处理错误就完事了。 那么如何来捕获异常呢?代码是 try, catch, finally。 好,我们来看一下啊,在 try 里边写代码,一、在开启里边写代码,二、在 finally 里边写代码,三、 这个代码里边这个代码随便写。啥意思呢?他就是尝试着运行这个代码,揣码就尝试着运行,他会运行。如果说这个代码发生了错误,然后这里有十行代码,第五行发生了错误, 立即停止串里边的代码执行,转而去执行 catch。 catch 是什么?我把这个错误接住,我来进行后续的处理。所以说如果说在这个过程中发生了错误,他就会马上停止这一块代码,转而执行 catch。 然后呢,他会把错误,错误不是一个对象吗?对吧?他会把那个错误对象传递给这个参数啊,传递给这,那么你可以用个变量来接收啊,我这里用的是 a e r r, 然后他会执行这里边代码,这里边代码可以写任何代码,当代码一出现异常之后,会执行这里的代码,异常对象会传给这个 error 好,然后这里有执行完 之后再执行,翻到底,翻到底是什么意思?最终的始终要执行的,那么这里会执行代码三,翻到底这一块是可以省略的啊,可写可不写,那么这一块代码是无论有没有异常,最终都会执行,比如说没有异常的,执行顺序是代码一,代码三,这里执行完了就会执行。这 如果说有异常的话,就是代码一啊,出现异常,中断执行,转而执行代码二,然后呢,执行完了之后再执行代码三啊,是这么一个逻辑,叫做捕获异常,比方说我举个例子哈,呃,这里边我们就写个异常吧,定个 a, 然后呢输出 ada 念,然后呢,再来一个输出 and 不了 try and, 我们前面是一个 try start。 好,接下来看一下。有,可就这段代码里边有可能有异常,也有可能没有,我也不知道有没有异常,因为我现在肯定知道嘛,对吧?现在代码比较简单, 但是有的时候你就不知道,比方说这个这个 a 是来自于另外一个函数调用,对吧?那我这个函数给我的东西到底是啥,我都不知道了啊,里面有没有内膜也不知道,所以说呢,有的时候我就不知道这个函,这个代码有没有异常,我不知道的,然后呢?有,如果说有异常,你就给我跑到这来执行, 你把异常对象搞搞给我啊。那么这里我就说啊, cat 表示有异常了啊,有异常了,然后这里我在处理错误,那么错误呢?错误对象在这,我可以通过这错误对象拿到什么呢?拿到他的。呃 message 啊,这是错误的消息,是一个字符串, 当然了,你要用就用,不用就拉倒。有的时候呢,我不想,我不想知道你是什么错误。那我就可以不,不写这个都可以啊。那我们这里输出那个 cat, 嗯,然后再输,再来一个,翻这里啊,翻这里是可写可不写的啊。再输出一个,翻这里。好,就看这个代码,这个代码呢,我们就在就在漏的环境里面执行吧。啊,都是一样的, 是不是没有报错啊?运行这儿,哎,定义这儿,运行到这儿,第四行是不是出现了错误?出现了错误之后转马上停止,就没有再输出这个了,转而执行 catch, 于是呢输出这个 catch start, 初步交易是一个字母串,他告诉你无法读习属相 in name of antifan, 然后 catch end, 对吧?这个不是错误啊,这是错误消息,一个支付串而已,我把这支付串打印了一下,对吧?所以他继续执行。执行这好,执行完了之后执行翻了,你程序不会终止,还会继续往后执行,懂这意思吧?这就是圈开启啊。这他的语法 绝大部分时候我们都无需补货一场。一场本身就是好事,他不是坏事,他让你知道我们这一块是有问题的。那什么时候我们会补货一场呢?只有满足以下两个条件,一个都不能少啊。必须要满足以下两个条件的时候我们才能去补货一场。什么条件呢?我们能够预 知某段代码会出现异常,就是这段代码,我们可我知道他有可能会出现异常,比方说这里我就通过一个函数调用,这个函数我现在有点拿不准,他给我的有可能是昂迪饭的,有可能是 love, 有可能是一个对象,对象里边有可能有内的属性,有可能没有, 对吧?你说我,你能够预知这个代码有可能会发生异常啊,这个条件还是比较好满足的。第二,我们还要知道出现异常后要做什么, 这点是非常重要的,如果说你不知道要做什么,哎,我这里报错了,但是我这个错误如果说出现了,如果说给我的上帝犯的,那我要做啥我都不知道了,那这个东西你不能去捕获他。 补货是什么意思?就是我知道你出了问题了,但是我,我要做一些后续的处理,比方说我要做一些日志记录,把这个问题记录下来,等等等等啊,那么这个时候才需要 去补货,你都不知道要做啥,你就不要补货,就跟他报出来,知道这意思吧,关注路易简介号的同学打断一下,我是袁老师,你能跟着我卷到这里,那我就再送你一个能卷死所有人卷的五体投地的课程。这套课就是我录制的大师课, 里边包含原理、原码、思想,还有笔,面试题,这些都是求职提心跳槽绕不过去的内容。 并且呢,我毫不夸张的说,论这些内容的价值,如果说一份工作年薪三十万,那么大食客这几天讲的东西可能在你的面试中就能值十万。 单说他里边涉及到的面试题,只要你面试的时候遇到了,这是大概率事件,你把我给你的答案不用百分之百,能够说个百分之六七十,对面试官的杀伤力都是核弹级别的,不管他曾经面试过多少人,这种场面他没见过, 我一点不跟你开玩笑。当然呢,我也欢迎各大公司的主管面试官前来参考借鉴,同时呢也送给各位同学拿去学习提升。怎么领取评论区第一条,进粉丝群,然后根据提示领取就可以了。 好,那么下面呢,我给大家举了个例子啊,就是给大家演示了一段我有可能是捕获错误的代码,这是个伪代码啊,并并不是真的可以执行的,只是来说明这个意思。比方说这里呢有个 next worker 网络,网络里边呢提供了一个方法啊,叫 gets heroes, 表示能够获得王者荣耀的英雄数据, 那可以拿到一个英雄数组,那么我把个英雄数组呢保存到那个边梁里边,然后呢,我调用另外一个函数,这个函数把英雄数组传进去,他就会在页面上把英雄显示到页面上,创建元素吗?显示到页面上啊,比方就这这么一件事,但是呢,我能够知道这里我在使用网络,网络这一块呢,是有可能会出问题的,对吧?比方说用户 突然断线了,或者是我服务器那边突然档机了啊,总之可能会出一些莫名其妙的问题,网络故障。那么这一块,而且我同事我知道当出现问题之后啊,我可能会给要给用户一些提示,对吧?不是在控制台里边给你给用户报错,用户又看不见,我要给用户一个提示,告诉他网络可能有故障,那么这个时候呢, 我去使用 track 开启,也就说这个函数我知道他有可能会报错,网络故障就达不到,英雄嘛,他就可能会报错,那于是呢,我把它放到踹里边, 放进去过后呢,一旦出现了错误,我就给用户呢调用另外一个方法,给用户呢显示一个框框,框框里边给他提示错误的原因啊,把这 air 的 message 放进去啊,就这么个意思,那么在这种场景下,我就有可能会使用圈开启, 你能够知道他有可能会发生错误,并且知道这个错误我需要用什么方式来解决,要要进行处理,你就可以使用他开启。

异常处理, try catch 三二一走,我先随便声明两个变量,第二个变量复制为零,我直接输出。二、除弊, 众所周知,零不可以作为除数出现,那运行看一下结果有异常呢?再出来抛出这个 exception, 在 cat 中捕获这个异常并进行处理。我还是只写一个输出语句,现在在运行看一下吧。 有红色的字体是我在 cat 中写的话,这个红色是因为我在写输出语句的时候把 out 换成了 a, 那我把 b 变量复制成别的数呢?刚才那条红色的字就不会出现了。如果想要每次都会执行的代码,需要加一 翻能力快运行看一下。把变量币重新复制为零,再运行看一下 看,不管有没有出现这个异常,都会执行,总是执行的输出。 ok, 总结,拜拜关注。



你有没有遇到过使用踹 cat 来捕获 gs 异常代码失效的情况呢?在我的学生中,出现这种情况常常有以下两种原因,第一种呢,就是无效代码,比如你的 gs 代码出现了违法错误,成为了无效代码, 在这种情况下呢,踹 catch 是无法补货的。第二种比较常见的情况是义不代码踹 catch 呢,对于在义不代码中引发的异常也是无法补货的,比如赛太 mf 的,你遇到的情况是不是也是这两种呢?

我们都知道船看起他可以捕获杰斯代码的报错,但有时候也会发生令人惊悚的失效情况。这里有一个揣看起他抛出了个错误,点击运行他可以捕获到错误,这没有任何问题。 但是如果我们在这里给他加上一部代码,也就是用 ctm out 包裹一次,那么他还能如期的捕获到错误吗?我们一起来看一看。 延时两秒, 点击运行, 看他的报错没有被捕获到,直接抛出来了,这是为什么呢?这个结果是不是非常离奇惊悚?这样场景其实还有很多,像阿贾克斯的回调 动物事件监听的毁掉里面的代码的报错,揣看起都是不能被捕获到的。他的原因是揣看起只能捕获同步的代码,因为他执行在主线城当中, 第二用战一旦结束了他的调用,他就会被清空掉,等一不代码爆错的时候,揣看起已经没有了,所以就捕获不到,直接抛出来了。 这个在实际开发当中,我们有时候会一不小心写出这样令人惊悚的代码,大家有这样的经历吗?

异常处理 so 抛出异常三二一开始处理异常,除了 try cat, 还可以直接用 so 抛出异常, 把之前的代码删一下,顺便把局部变量改成静态成员变量。因为我要开始写方法了,需要有返回值,但不需要有参数返回。二除以币来判断一下除数是不是为零,如果除数是零,就抛出一场 回民。方法里要用方法把返回值打印一下,我把这两行代码用出来, catch 包一下,重新写一下,捕获异常输出需要抛出的异常可以运行了。看吧,变异常信息了,爸比 电量的只改一下,没有报错了吧,给总结,哎嗨,关注。