JAVA基础3(异常)

小编 2026-06-27 阅读:1948 评论:0
第七章:异常 1、定义:指在程序运行过程中发生的不正常的事件,它会中断正在运行的程序 2、异常处理机制    程序中预先设置好对付异常的处理方法–>程序运行–>异常–>对异常...

第七章:异常
1、定义:指在程序运行过程中发生的不正常的事件,它会中断正在运行的程序
2、异常处理机制
   程序中预先设置好对付异常的处理方法–>程序运行–>异常–>对异常进行处理–>处理完毕,程序继续执行
3、异常的处理方式
   if-else:不好,代码臃肿(一般不使用)
   try(执行可能产生异常的代码)、catch(捕获异常)、finally(最终必须要执行的,除非碰到System.exit(1)退出jvm虚拟机)、throw(手动抛出异常)、throws(声明方法可能要抛出的异常)
  (1)try-catch-finally:存在return的try-catch-finally先执行finllay再执行return退出方法
  (2)try-finally
  (3)try-catch:快捷键Ctrl+Alt+T
  (4)多重catch块:只执行第一个与异常类型匹配的catch语句;排列catch语句先子类后父类Exception
  (5)throws:如果一个方法体中抛出了异常,需要通知调用者处理异常,多个异常逗号隔开;调用者有两种处理方式1>调用者处理异常2>调用者继续声明异常
     public static void divid()throws Exception{} //当Exception与其子类共存时,执行Exception异常;声明Exception异常最后不处理会报错,声明其子类异常则不会报错;
     public static void main(String[] args) {
         try {
         divid();
        } catch (Exception e) {
         e.printStackTrace();
        }
     }
  (6)throw:1>当前方法中出现了异常,但处理异常的责任不应该是当前方法管,这时将异常抛出
        2>当程序遇到了一个满足语法要求,但不符合业务逻辑的情况,这时候主动throw一个异常出来
        public class Throw {
           public static void main(String[] args) {
              Person person=new Person();
               try {
                  person.setSex(“make”);
               } catch (Exception e) {
                 e.printStackTrace();
                }
            }
        }
        public class Person{
           private String sex;
           public void setSex(String sex)throws Exception{
              if(“男”.equals(sex)||“女”.equals(sex)){
                  this.sex=sex;
              }else {
                  throw new Exception(“性别必须是\"男\"或者\"女”!\");
              }
            }
         }
4、Throwable类:是所有异常类的父类,其下有两个子类
  (1)Error:一般是虚拟机溢出,属于系统级别错误,假如出现这种错误,应尽力使程序安全退出
  (2)Exception
    1>运行时异常:用户输入无法左右,不要求必须捕获或者声明抛出;
     其下分很多子类,例:ArithmeticException算数异常、InputMismatchException匹配异常、NullPointerException空指针引用异常、IndexOutOfBoundsException下标越界异常、ClassCastException对象强制转换异常、NumberFormatException数字格式异常、SecurityException安全异常、IllegalArgumentException传递非法参数异常
    2>check异常:必须捕获或者声明抛出
    3>方法:void printStrackTrace():输出异常的堆栈信息
        String getMassage():返回异常信息的描述字符串,是printStrackTrace()输出信息的一部分

版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

热门文章
  • 机房智能化温湿度解决方式之POE供电以太网温湿度传感器

    机房智能化温湿度解决方式之POE供电以太网温湿度传感器
    机房智能化温湿度解决方式之POE供电以太网温湿度传感器 北京盈创力和电子科技有限公司 智能型TCP网口温湿度记录仪 北京IP网络温湿度记录仪厂家,北京盈创力和 北京智能型TCP网口温湿度记录仪IP网络温湿度记录仪是一种新型的基于TCP/IP协议双绞线以太网标准温湿度采集模块,利用它可以实现现场温度值、相对湿度值的采集,同时利用其自身的RJ45通信接口可以方便地和机房监控主机或交换机集线器进行联网。 工作于-40℃~85℃工业级带...
  • Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering

    Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering
    Problem Statement 我们考虑一个具有马尔可夫性质、非线性、非高斯的状态空间模型(State Space Model):对于一个时间序列上的观测结果{yt,t∈N}\\{ y_t , t \\in N \\}{yt​,t∈N},我们认为每个观测结果yty_tyt​的生成依赖于一个无法直接观察的隐变量xt∈{xt,t∈N}x_t \\in \\{x_t , t \\in N \\}xt​∈{xt​,t∈N},即:p(...
  • HTTP状态保持的原理

    HTTP状态保持的原理
    a)在用户登录之后,浏览器返回响应的时候会在响应中添加上cookieb)浏览器接收到cookie之后会自动保存c)当用户再次请求同一服务器中的其他网页的时候,浏览器会自动带上之前保存的cookied)服务接收到请求之后可以请 request 对象中取到cookie 判断当前用户是否登录  Http是无状态的,就是连接时数据互通,关闭后...
  • Hive 系统函数及示例

    Hive 系统函数及示例
    查看所有系统函数 show functions; 函数分类 内置函数【系统函数】 数学函数: floor、round、ceil、cos、log2等 字符串函数: length、reverse、trim、lower、get_json_object、repeat等 收集函数: size 转换函数: cast 日期函数: year、month、datediff、date、date_add等 条件函数: coalesce、case…w...
  • CSRF的原理和防范措施

    CSRF的原理和防范措施
    a)攻击原理:i.用户C访问正常网站A时进行登录,浏览器保存A的cookieii.用户C再访问攻击网站B,网站B上有某个隐藏的链接或者图片标签会自动请求网站A的URL地址,例如表单提交,传指定的参数iii.而攻击网站B在访问网站A的时候,浏览器会自动带上网站A的cookieiv.所以网站A在接收到请求之后可判断当前用户是登录状态,所以...
标签列表