西二旗是一个恐怖的地铁站,光排队得排很久。
只要写代码就存在bug,唯一一个不出bug得方法就是不写代码。
异常:在程序的运行过程中,出现的不正常情况叫做异常.
注意:1.相同的代码在运行的时候,根据输入的参数或者操作的不同,有可能会发生异常,有可能不会发生异常,应该再写带过的过程中尽可能的保证代码的正确性,不要到处写bug。
2.如果要解决代码中出现的异常,需要添加非常复杂的逻辑来进行判断,会使代码变得非常复杂,臃肿,因此,推荐大家使用异常机制来处理程序运行中出现的问题。
3.程序的运行过程中,如果出现问题,会导致后面的代码会无法执行,而使用异常机制之后,可以对异常情况进行处理,同时后续的代码会继续执行,不会中断整个程序。
4.在异常的处理过程中,不要只是简单的输出错误,要尽可能的将详细的异常信息进行输出,e.printStackTrace()打印异常的堆栈信息,可以从异常信息的最后一行开始追踪,寻找自己编写的java类; 还可以 e.getMessage(),
异常处理的方式:
1.捕获异常
finally 包含哪些处理逻辑:
1.IO流的关闭操作一般置在finally中
2.数据库的连接关闭操作设置在finally中
(名士兵教育的)总结:
try语句在返回前,将其他所有的操作执行完,保留好要返回的值,而后转入执行finally中的语句,而后分为以下三种情况:
情况一:如果finally中有return语句,则会将try中的return语句”覆盖“掉,直接执行finally中的return语句,得到返回值,这样便无法得到try之前保留好的返回值。
情况二:如果finally中没有return语句,也没有改变要返回值,则执行完finally中的语句后,会接着执行try中的return语句,返回之前保留的值。
情况三:如果finally中没有return语句,但是改变了要返回的值,这里有点类似与引用传递和值传递的区别,分以下两种情况,:
1)如果return的数据是基本数据类型或文本字符串,则在finally中对该基本数据的改变不起作用,try中的return语句依然会返回进入finally块之前保留的值。
2)如果return的数据是引用数据类型(比如对象),而在finally中对该引用数据类型的属性值的改变起作用,try中的return语句返回的就是在finally中改变后的该属性的值。
标签:语句,return,代码,try,finally,java,异常 From: https://www.cnblogs.com/belen87/p/16739185.html