[黑马程序员]——java中的异常Exception

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-

java.lang.Exception类是Java中所有异常的直接或间接父类。即Exception类是所有异常的根类。

使用最简单的程序:

public class ExceptionTest{

     public static void main(String[] args)
     {
             int c = 1 / 0;          
             System.out.println(c);
     }
}

编译通过,运行时则报出了异常,因为除数不能为0。

处理异常一般使用:

    try
    {
         // 可能发生异常的代码
        // 如果发生了异常,那么异常之后的代码都不会被执行
    }
    catch (Exception e)
    {
        // 异常处理代码
    }
    finally
    {
        // 不管有没有发生异常,finally语句块都会被执行
    }

我们使用这种处理方式来处理一下除数为0的运算代码。

public class ExceptionTest
{
    public static void main(String[] args)
    {
        int c = 0;
        try
        {
            // 这块代码出现了异常
            c = 1 / 0;

            // 那么异常之后的代码都不会被执行
            System.out.println("这段代码执行了");
        }
        catch (ArithmeticException e)
        {
            System.out.println("出现异常了");
            e.printStackTrace();
        }
        finally
        {
            //不管有没有发生异常,finally语句块都会被执行
            System.out.println("finally代码块");
        }

        System.out.println(c);
        // 当b为0时,有异常,输出为c的初始值0
    }
}

还有种方式是继续向外抛出异常:

public class ExceptionTest{

     public static void main(String[] args) throws Exception
     {
             int c = 1 / 0;          
             System.out.println(c);
     }
}

将除数为0的这个算术异常继续向外抛出。

    知道了如何处理异常,那我们就来自定义一个异常。
所谓自定义异常,通常就是定义一个类,去继承Exception类或者它的子类。因为异常必须直接或者间接地继承自Exception类。通常情况下,会直接继承自Exception类,一般不会继承某个运行时的异常类。
public class MyException extends Exception
{
    public MyException()
    {
        super();
    }    
    public MyException(String message)
    {
        super(message);
    }
}

在main函数中抛出我们自定义的异常。

public class ExceptionTest
{
    public static void main(String[] args) throws MyException
    {
        System.out.println("异常将要抛出");
        throw new MyException("我自定义的异常");
        System.out.println("异常抛出完成");
    }
}

运行成功抛出异常。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值