首页 > 代码库 > 04-Java 异常

04-Java 异常

 

1、认识异常:异常是导致程序中断运行的一种指令流,如果不对异常进行正确处理,则可能导致程序的中断执行,造成不必要的损失。

  int a=10;

  int b=0;

  int temp=a/b;

  System.out.println(temp);

2、处理异常

  格式:try{    异常语句  }

        Catch(Exception e) { }

        Finally { 一定会执行的代码 }

3、常见异常:

(1)数组越界异常:ArrayIndexOutOfboundsException

(2)数字格式化异常:NumberFormatException

(3)算数异常:ArithmeticException

(4)空指针异常:NullPointerException

  class Exc{      int a=10;      int b=10;  }public static void main(String[] args) {        int temp =0;        Exc e=null;        e=new Exc();        try {           temp=e.a/e.b;          System.out.println(temp);       } catch (NullPointerException e2) {           System.out.println("空指针异常:"+e2);       }catch (ArithmeticException e2) {           System.out.println("算数异常:"+e2);       }finally{           System.out.println("程序退出。");       }

结果: 1

程序退出。

把第三行注释掉:结果:空指针异常:java.lang.NullPointerException

程序退出。

把b=10改为0,结果是:

算数异常:java.lang.ArithmeticException: / by zero

程序退出。

 

4、throws关键字:

     在定义一个方法时,可以使用throws关键字声明,表示该方法不处理异常,抛给方法的调用者处理。

格式:public void tell ()  throws Exception {}

 

 

5、throw关键字:抛出一个异常,抛出的时候直接抛出异常类的实例化对象即可。

public static void main(String[] args) {        try {            throw new Exception("实例化异常对象");        } catch (Exception e) {            System.out.println(e);

结果:java.lang.Exception: 实例化异常对象

6、自定义异常:有些异常比较难找,这时自定义异常发挥作用。

直接继承Exception就可以完成自定义异常。

class MyException extends Exception{    public MyException(String msg)  {        super(msg);    }}public class ExceptionDemo02 {    public static void main(String[] args) {        try {            throw new MyException("自定义异常");        } catch (MyException e) {        System.out.println(e);

结果:com.jike.exc.MyException: 自定义异常

 

04-Java 异常