1.异常
1.1 什么是异常
错误主要分为两种:Error和Exception
Error代表的系统级别错误(属于严重问题)
Exception:叫异常,它代表的才是我们程序可能出现的问题,而Exception又分为:
1.运行时异常:RuntimeException及其子类,编译阶段不会出现错误提醒,运行时出现的异常(如:数组索引越界异常)
2.编译时异常:编译阶段就会出现错误提醒的。(如:日期解析异常)
1.2异常的处理方法
1.抛出异常(throws)
在Java的方法调用中,如果一个方法中出现了异常,本方法自己不处理,默认是会抛给调用方法去处理的 此时要注意的是,如果发生的是非运行时异常,需要在方法上明确使用throws关键字声明抛出,这是一种不负责的异常处理方法
2.捕获异常(try…catch)
直接在当前方法,发生异常的代码外使用try--catch--结构捕获并处理异常
异常处理后,后续的代码是可以继续执行的
1.3自定义异常
Java无法为这个世界上全部的问题都提供异常类来代表, 如果以后我们自己写的代码中的某种问题, 想通过异常来表示,以便用异常来管理该问题,那就需要自己来定义异常类了。
自定义异常分为以下两种:
自定义运行时异常,编写一个类继承RuntimeException
自定义编译时异常,编写一个类继承Exception
自定义运行时异常:
自定义编译时异常:
1.4异常的作用:
1、异常是用来查找系统bug 的关键参考信息
2、异常可以作为方法内部一种特殊的返回值,以便通知上层调用者,代码底层的执行情况
2. Lambda表达式
Lambda表达式是JDK 8开始新增的一种语法形式; 是用于简化匿名内部类的代码写法。
Lambda表达式只能简化函数式接口的匿名内部类
函数式接口:
1.有且仅有一个抽象方法的接口。
2.注意:大部分函数式接口上面都会有一个@FunctionalInterface的注解,有该注解的接口就必定是函数式接口。
简化后:
Lambda表达式的省略写法(进一步简化Lambda表达式的写法)
参数类型可以省略不写 如果只有一个参数,小括号()也可以省略。
如果Lambda表达式中的方法体代码只有一行代码,可以省略花括号{}不写,同时要省略分号
此时,如果这行代码是return语句,也必须去掉return不写。