Java异常处理

本文详细阐述了Java中异常的广义和狭义概念,包括Error和Exception的区别,以及运行时异常和检查异常的分类。讲解了异常处理的基本结构,throws和throw的用法,并介绍了如何自定义异常以适应业务需求。
摘要由CSDN通过智能技术生成

异常概述

        广义上的异常:

指的是程序运行中一切不正常的情况.

Java中将这些不正常分为两种:

        1.Error: 错误,指的是,程序运行过程中出现了问题,但是程序自身无法解决
                jvm自己出错了,内存不够用了.
                Exception in thread "main" java.lang.StackOverflowError 栈溢出错误
              
        2.狭义上的异常(Exception): 也是程序运行中出现了问题,但是可以通过异常处理机制代码进行解决.
                解决后程序可以继续向后运行.
                例如数组越界
                      ......
        对于一般的异常,出现后,程序会立即终止执行,  或者实现采用异常处理机制来进行处理

 异常的体系    

Throwable:(java异常体系中最大的类)
         Error
           许多的子类  不是我们本次学习重点
           
         Exception
           许多的子类
           
           运行时异常 RunTimeException
           检查异常/编译期异常

在java中为什么有这么多的异常类, 只是把语法能够出现的某种问题对应的封装成了一个类.
        一旦出现某类问题时,java虚拟机会抛出对应的问题的类.

异常处理

一般异常处理

        try{
            写可能会出现问题的代码
            目前不确定哪些代码写在try中,没关系,可以将更多的代码放进来
        }catch(具体的异常类型1 ){
               捕获try中出现的对应的类型的异常
        }catch(具体的异常类型2 ){
               捕获try中出现的对应的类型的异常
        }catch(Exception){
               做什么?
                   不是将有问题的给处理好
                  1.可以向用户做出提示 
                  2.为开发人员输出异常相关信息,方便调试
                  3.打印程序运行日志
        }finally{
             将一些最终必须要执行的代码写在此处    
        }

throws与throw

    throws
      在方法定义时,进行声明的,声明此方法可能会出现某种异常.
    throw
      在方法体内,用来抛出一个异常对象.


自定义异常 

     java语言中提供了许许多多的异常类,都是与语法相关的.
     而实际的业务开发,有时,我们也需要在某种条件下以抛出异常对象的方式进行处理.
      举个例子:判断分数:
                
     所以,我们可以自定义异常类, 当不满足条件时,可以抛出此类的对象即可.

  • 8
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值