首页 > 代码库 > 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 异常