您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
javase第三季学习笔记-受检与非受检异常
发布时间:2017-08-10 15:46:11编辑:雪饮阅读()
受检异常
在编译期检查的异常就是受检异常
定义方法时必须声明所有可能会抛出的exception;在调用这个方法时,必须捕获它的checked exception,不然就得把它的exception传递下去;exception是从javal.lang.Exception类衍生出来的。例如:IOException,SQLException就属于Exception
非受检异常
在编译期是不会检查的异常就是非受检异常
在定义方法时不需要声明抛出runtime exception;在调用这个方法时不需要捕获这个runtime exception;runtime exception是从javal.lang.RuntimeException或java.lang.Error类衍生出来的。例如:NullPointException,IndexOutOfBoundsException就属于runtime exception
非受检异常示例:
一个java文件先继承非受检异常生成一个子类:
package com.vince.ex;
public class MyException extends RuntimeException {
public MyException(){
super();
}
public MyException(String message){
super(message);
}
}
另外一个java文件使用刚才的子类(非受检异常)的实例:
package com.vince.ex;
public class Test {
//非受检异常在方法声明时无需声明
public static void test(){
//各种逻辑代码。。。。
//然后扔出异常
throw new MyException("运行时异常");
}
public static void main(String[] args){
//非受检异常在方法调用时也不需要捕获
//捕获也无所谓
test();
}
}
assert关键字
assert关键字表示断言。
当程序执行到某个固定位置的时候,程序中的某个变量的取值肯定是预期的结果,那么这种操作可以使用断言完成。
断言的操作语法:
assert 表达式;
assert关键字使用示例:
package com.vince.ex;
public class AssertDemo {
public static void main(String[] args) {
int x=11;
assert x==10:"结果不正确";
//java -ea AssertDemo
}
}
该示例运行时需要给jvm虚拟机添加参数
如果是在命令行中运行该示例直接java -ea AssertDemo即可。
如果是在eclipse上运行则先直接运行一次,然后
然后选择你要运行时配置的类并设置参数:
填写参数后直接运行:
这里上面这一栏可以填写程序参数,下面一栏填写jvm虚拟机参数
关键字词:javase,受检与非受检异常