受检与非受检异常

来源:互联网 发布:ubuntu 忘记系统密码 编辑:程序博客网 时间:2024/06/06 12:25

1.受检与非受检异常

受检异常:Exception

定义方法时必须声明所有可能会抛出的exception:在调用这个方法时,必须捕获它的checked exception,不然就得把它的exception传递下去:exception是从java.lang.Exception类衍生出来的。例如:IOException,SQLException就属于Exception


非受检异常:RuntimeException

在定义方法时不需要声明会抛出runtime exception:在调用这个方法时不需要捕获这个runtime exception;runtime exception 是从java.lang.RuntimeException或java.lang.Error类衍生出来的。例如:NullPointException,IndexOutOfBoundsException就属于runtime exception


package com.vince.ex;/** * 运行时异常类(非受检异常) * @author lamp * */public class MyException extends RuntimeException{public MyException(){super();}public MyException(String message){super(message);}}

package com.vince.ex;public class Test {public static void test(){//..throw new MyException("运行时异常");}public static void main(String[] args) {try{test();}catch(MyException e){}}}



2.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}




0 0
原创粉丝点击