throw异常

使用throw抛出异常

throw总是出现在函数体中,用来抛出一个Throwable类型的异常。程序会在throw语句后立即终止,它后面的语句执行不到,然后在包含它的所有try块中(可能在上层调用函数中)从里向外寻找含有与其匹配的catch子句的try块。

列如:(1)throw new exceptionname; (2)抛出一个IOException类的异常对象:throw new IOException;

作用:

如果抛出了检查异常,则还应该在方法头部声明方法可能抛出的异常类型。该方法的调用者也必须检查处理抛出的异常。

如果所有方法都层层上抛获取的异常,最终JVM会进行处理,处理也很简单,就是打印异常消息和堆栈信息。如果抛出的是Error或RuntimeException,则该方法的调用者可选择处理该异常。

finally代码块:

 在java语言异常处理中,finally块的作用就是不管有没有异常都会进行执行,经常被用在需要释放资源的情况下。但是程序执行return就意味着结束当前函数的调用并跳出这个函数体,所以所有语句都只能在return前执行(除非有exit函数)。finally语句也是在return 之前执行的。

耦合:在软件工程中,

对象之间的耦合度就是对象之间的依赖性。对象之间的耦合越高,维护成本越高,因此对象的设计应使类和构件之间的耦合最小。

解耦:尽可能减少代码耦合,如果发现代码耦合,就要采取解耦技术。让数据模型,业务逻辑和视图显示三层之间彼此降低耦合,把关联依赖降到最低,而不至于牵一发而动全身。原则就是A功能的代码不要写在B的功能代码中,如果两者之间需要交互,可以通过接口,通过消息,甚至可以引入框架,但总之就是不要直接交叉写。

用lambda表达式实现Runnable:那就是用() -> {}代码块替代了整个匿名类

new Thread( () -> System.out.println("In Java8, Lambda expression rocks !!") ).start();
原文地址:https://www.cnblogs.com/9797ch/p/11113387.html