2019-03-08 Java exception 01
2019-03-08 本文已影响0人
yangsunior
Java 异常 01
异常描述: 在运行时期发生的不正常情况,异常就是java通过面向对象的思想将问题封装成了对象。
异常类: 描述不正常的情况的类。java中用类的形式对不正常情况进行了描述和封装对象。不同问题用不同的异常类进行描述,如空指针,下标越界等。
以前正常流程代码和问题处理代码相结合,
现在将正常流程代码和问题处理代码分离。提高阅读性。
最终问题(不正常情况)分为两大类:
Throwable: 无论是error,还是异常问题。发生就可以抛出,让调用者知道并处理。
- 一般不可处理的:Error
特点:由jvm抛出的严重性问题。 该问题发生一般不针对性处理,直接修改程序。 - 可以处理的:Exception
可抛性到底指的是什么呢?怎么体现可抛性呢?
答: 通过两个关键字(throws/throw)来体现。凡是可以被这两个关键字所操作的类和对象都具备可抛性。
exception 实例分析
class ExceptionDemo
{
public static void main(String[] args)
{
// int[] arr = new int[1024*1024*800];//java.lang.OutOfMemoryError: Java heap space
// arr = null;
// System.out.println(arr[3]);
sleep2(10);
sleep(-5);
}
public static void sleep2(int time)
{
if(time<0)
{
// 处理办法。
// 处理办法。
// 处理办法。
// 处理办法。
// 处理办法。
}
if(time>100000)
{
// 处理办法。
// 处理办法。
// 处理办法。
// 处理办法。
// 处理办法。
// 处理办法。
}
System.out.println("我睡。。。"+time);
}
public static void sleep(int time)
{
if(time<0)
{
// 抛出 new FuTime();//就代码着时间为负的情况,这个对象中会包含着问题的名称,信息,位置等信息。
}
if(time>100000)
{
// 抛出 new BigTime();
}
System.out.println("我睡。。。"+time);
}
}
class FuTime
{
}
class BigTime
{
}
- Java heap space:溢出
int[] arr = new int[1024*1024*800];
- 空指针异常
arr = null;
System.out.println(arr[3]);
- 通过ifelse条件判断,调用对应的函数进行处理
public static void sleep2(int time) {}
- 使用相关类(异常类)进行处理
class FuTime {}
class BigTime {}