java se异常笔记
程序员文章站
2022-06-09 20:07:50
...
java se异常笔记
异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。
示例代码一:
//最终问题(不正常情况)就分为两大类
/*Throwable:无论error还是异常,问题,问题发生就应该可以抛出,让调用者知道并处理。
* 该体系的特点就在于Throwable及所有的子类都具有可抛性
* 具体通过两个关键字来体现的
* throws throw ,凡是可以被这两个关键字所操作的类和对象都具有可抛性
* |--1,一般不可处理的。Error
* |--2,可以处理的。Exception
*
*/
class Test{
public static void main(String[] args){
int[] arr = new int[3];
arr = null;
//System.out.println(arr[3]);
sleep(-5);
}
public static void sleep(int time){
if(time<0){
new FuTime();//就是时间为负的情况
}
if(time>1000000){
new BigTime();
}
System.out.println("我睡。。。"+time);
}
}
class FuTime{
}
class BigTime{
}
输出结果:
我睡。。。-5
示例代码二:
class Demo{
public int method(int [] arr,int index){
if(arr==null){
throw new NullPointerException("数组的引用不能为空");
}
if(index>=arr.length){
throw new ArrayIndexOutOfBoundsException("数组角标越界了:"+index);
}
if(index<0){
throw new ArrayIndexOutOfBoundsException("数组角标不能为负数:"+index);
}
return arr[index];
}
}
class Test2 {
public static void main(String[] args){
int[] arr = new int[3];
Demo d = new Demo();
int num = d.method(null, 30);
System.out.println("num"+num);
System.out.println("Over");
}
}
输出结果二:
Exception in thread “main” java.lang.NullPointerException: 数组的引用不能为空
at Demo.method(Test2.java:4)
at Test2.main(Test2.java:20)
下一篇: php简单 在线投票系统 源码下载,