Java

2019-03-08 Java exception 01

2019-03-08  本文已影响0人  yangsunior

Java 异常 01

异常描述: 在运行时期发生的不正常情况,异常就是java通过面向对象的思想将问题封装成了对象。

异常类: 描述不正常的情况的类。java中用类的形式对不正常情况进行了描述和封装对象。不同问题用不同的异常类进行描述,如空指针,下标越界等。

以前正常流程代码和问题处理代码相结合,

现在将正常流程代码和问题处理代码分离。提高阅读性。

最终问题(不正常情况)分为两大类:
Throwable: 无论是error,还是异常问题。发生就可以抛出,让调用者知道并处理。

  1. 一般不可处理的:Error
    特点:由jvm抛出的严重性问题。 该问题发生一般不针对性处理,直接修改程序。
  2. 可以处理的: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
{
}
  1. Java heap space:溢出
int[] arr = new int[1024*1024*800];
  1. 空指针异常
arr = null;
System.out.println(arr[3]);
  1. 通过ifelse条件判断,调用对应的函数进行处理
public static void sleep2(int time) {}
  1. 使用相关类(异常类)进行处理
class FuTime {}
class BigTime {}
上一篇下一篇

猜你喜欢

热点阅读