黑马程序员--异常处理

                                                  ----------   android培训java培训、期待与您交流! ---------- 

异常处理是java的一种重要的错误处理机制。Java程序在运行中,通常可能遇到两种错误:异世致命错误,程序不能简单地恢复执行:另一种是非致命错误,通常称为异常,程序可以通过异常处理来修正程序,并使其可以继续执行。

       Java所有包中都声明了异常类和错误。Exception类是所有异常类的父类;Error类是所有错误类的父类。着两个类 同时又是Throwable的子类。每个类都包含了该运行错误的信息和处理错误的方法等内容。

       在java中,可以通过try…..catch…..finally语句来捕获和处理异常,也可以在程序中生成自己的异常对象。通过throw语句人为抛出异常。此外如果一个方法生成一个异常,当爱方法并不能确定如何处理此类异常,可以使用throws语句来声明将异常抛出给调用该方法的方法。

       对于程序中可能出现一些系统识别不了的运行错误,用户可以通过创建自己的异常和异常类来解决,自定义异常类的父类一般是Exception类和Exception类的子类。

示例一 :

package com.itheima;
 
public class ExceptionDemo {
   public static void main(String[] args) {
     Test test = new Test();
//通过try....catch.....finally处理异常
     try {
        int a = test.div(7, 0);
        System.out.println(a);
     } catch (Exception e) {
        System.out.println("除零啦");
     } finally {
        System.out.println("over");
     }
 
   }
 
}
 
class Test {
   int div(int x, int y)
   {
 
     return x / y;
   }
 
}


示例二:

package com.itheima;
 
public class ExceptionDemo {
   public static void main(String[] args) throws Exception//异常抛给虚拟机默认处理
   {
     Test test = new Test();
 
     int a = test.div(7, 0);
     System.out.println(a);
     System.out.println("除零啦");
     System.out.println("over");
 
   }
 
}
 
class Test {
   int div(int x, int y) throws Exception//通过throws声明该功能可能出现问题
   {
 
     return x / y;
   }
 
}


示例三:自定义异常

package com.itheima;
 
public class ExceptionDemo {
   public static void main(String[] args) {
     Test test = new Test();
 
     int a;
     try {
        a = test.div(7, -2);
        System.out.println(a);
     } catch (fushuException e) {
 
        System.out.println("除数出现负数");
     } finally {
        System.out.println("over");
     }
 
   }
 
}
 
/*
 * 自定义异常
 */
class fushuException extends Exception {
 
}
 
class Test {
   int div(int x, int y) throws fushuException{
     if (y < 0) {
        throw new fushuException();
        /**
         * throws和throw的区别: throws使用在函数上,后面跟异常类,可以多个,用逗号隔开。
         * throw使用在函数内,后面跟的是异常对象。
         */
     }
     return x / y;
   }
 
}
 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值