码迷,mamicode.com
首页 > 编程语言 > 详细

[Java] 异常处理

时间:2015-08-19 12:36:38      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:

异常处理方式:

1. try-catch-finally

  try{

    可能发生异常的代码

  }

  catch(异常类型1 异常名1){

    处理异常的程序代码

  }

  catch(异常类型2 异常名2){

    处理异常的程序代码

  }

  ...

  finally{

    前面无法处理的异常,在此解决

  }

2. throws:在方法中声明抛出异常

返回值 方法名() throws 异常1,异常2,...

eg:

import java.io.*;

public class Example{

  public static void main(String[] args){

    try{

      out(); 

    }catch(ArithmeticException e){

      System.out.print("除数不能是0");

    }

  }

  public static void out() throws ArithmeticException {

    int i = 9/0;

    System.out.print(i);

  }

}

3. throw: 抛出异常

import java.io.*;

public class Example{

  static int k = 0;

  public static void main(String[] args){

    try{

      out(); 

    }catch(ArithmeticException e){

      System.out.print("除数不能是0");

    }

  }

  public static void out() throws ArithmeticException {

    if (k == 0)  throw new ArithmeticException();

    int i = 9/k;

    System.out.print(i);

  }

}

4. throw 和 throws 区别

throws 是声明可能抛出异常,而throw 是一定抛出异常

throws用于方法头部,而throw 用于方法体中

5. 自定义异常

Java 允许程序员自定义异常类以处理各种系统未定义的异常。程序员可通过继承Exception 或其子类(比如IOException)来创建自己的异常类。

eg:

import java.io.*;

public class Example{

  static int k = 0;

  public static void main(String[] args){

    try{

      if(k == 0)  throw new MyException();

      int i = 5 / k;

    }catch(MyException e){

      System.out.print(e.toString());

    }

  }

  class MyException extends Exception{

    public MyException(){

      super("除数不能是0");

    }

    public MyException(String str){

      super(str);

    }

  }

}

[Java] 异常处理

标签:

原文地址:http://www.cnblogs.com/feifeidxl/p/4741603.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!