异常

1. 什么是异常?

java程序在运行过程中出现的意外情况

2.  java中如何进行异常处理?

java中的异常处理机制

try、catch、finally、throw、throws

try{

//有可能出现异常的代码

          }catch(异常类型){

                   //对出现的异常进行捕获和处理

                      return;

//System.exit(1);// finally语句块将不执行

                      }finally{

       //不管程序是否发生异常,都要执行的代码

                }

           try…catch…finally一共有3种组合方式

       try…catch…(catch可以有多种,但要注意先子类后父类的顺序)

      try…catch…finally…

      try…finally…

3. 程序执行过程中出现的影响程序正常运行的现象
       3.1 异常语法
        try{
            //代码块   
        }catch(异常类型 e){

}catch(异常类型 e2){

}...{

}finally{
       
        }
       注意:try 表示可能出现异常的代码块
         catch 抓取异常,并进行处理
               可以抓取多个异常,异常的范围要从小到大抓取
                并且只会执行第一个匹配的异常类型
         finally 最终的 不管是否出现异常,finally中的代码块始终会执行
             除虚拟机停止(System.exit(1))这种情况外
         注意:finally 和 return 的执行顺序 先执行return
          把返回结果保存在返回结果区域,并没有返回,在执行finally 最后 把保存在结果区域的结        果返回给调用者
       3.2 throws 抛出异常
        a.就是当当前方法,不能解决这个异常的时候,必须把这个异常交给上一个调用者去处理
        b.语法
            访问修饰符 返回值类型 方法名(参数列表)[throws 异常]{
            }

4.java异常体系
        Throwable
            |--    error:(出现不能通过程序处理的错误)       
            |--    Rxception::(可以同程序抓取或者抛出的错误)
                |--检查异常(非运行时异常):编译阶段会出现的异常
                   SQlException
                   IOException
                   ClassNotFoundException
                |--非检查异常(运行时异常RunTimeException):运行简单会出现的异常
                   NullPointerException
                   ArrayIndexOutOfBoundException
                        ClassCastExeption
            注意:checked 异常,是必需处理的
                  运行时异常,可以不处理

public class Test {private static Logger logger=Logger.getLogger(Test3.class.getName());public static void main(String [] args){Scanner input=new Scanner(System.in);System.out.print("请输入被除数:");int num1=input.nextInt();System.out.println("");System.out.print("请输入除数:");int num2=input.nextInt();try{System.out.println(num1/num2);System.out.println("感谢使用本程序!");}catch(InputMismatchException e){logger.error("出现错误!除数和被除数必须为整数!",e);}catch(ArithmeticException  e){logger.error(e.getMessage());}catch(Exception e){logger.error(e.getMessage());}finally {System.out.println("欢饮您使用本程序!");}}
}public class TestEx {public static void main(String[] args){Scanner  console = new Scanner(System.in);try{System.out.println("try开始");int a = console.nextInt();int b = console.nextInt();System.out.println("try结束");}catch(InputMismatchException ee){System.out.println("异常");// ee.printStackTrace();String mes = ee.getMessage();System.out.println(mes);}catch(NullPointerException e){System.out.println("输入的不是整数");//    e.printStackTrace();}catch(ClassCastException e1){System.out.println("类型转换异常");}System.out.println("运行结束");}
}

转载于:https://www.cnblogs.com/wangjinshabi250/p/7019791.html

面向对象chapter10相关推荐

  1. JAVA面向对象编程作业(Chapter10、11)

    第十章十一章作业 第十章十一章作业标题 第十章十一章作业 1.读代码 2.使用静态变量和静态方法时实现产品的唯一序列号编号 3.抽象类的使用:继承含含有抽象方法的抽象类的子类必须实现抽象类 4.匿名内 ...

  2. c++学习笔记(7) 面向对象思想

    面向对象思想: 1.string类: C字符串:将字符串看作以'/0'结尾的字符数组 string类: 处理字符串 2. 使用string类对象: // 字符串初始化 string s1 = &quo ...

  3. 第十章 Golang面向对象编程(上)

    结构体 看一个养猫问题 张老太养了两只猫猫:一只名字叫小白,今年3岁,白色.还有一只叫小花,今年100岁,花色.请编写一个程序,当用户输入小猫的名字时,就显示该猫的名字,年龄,颜色.如果用户输入的小猫 ...

  4. 【AJAX】JavaScript的面向对象

    Ajax中后端数据返回后需要前端通过JavaScript来实现动态数据更新的问题.所以,在Ajax中加深了一遍JavaScript面向对象的印象. 基础部分: JavaScript中创建对象并简单对象 ...

  5. 面向过程(或者叫结构化)分析方法与面向对象分析方法到底区别在哪里?

    AutoSAR入门到精通系列讲解 将从2019年开始更新关于AutoSAR的知识,从入门到精通,博主xyfx和大家一起进步 雪云飞星 ¥29.90 去订阅 简单地说结构化分析方法主要用来分析系统的功能 ...

  6. 2021年大数据常用语言Scala(二十八):scala面向对象 MAVEN依赖和类

    目录 scala面向对象 MAVEN依赖 类 - 掌握 创建类和对象 - 掌握 getter/setter - 了解 类的构造器 - 掌握 scala面向对象 MAVEN依赖 <?xml ver ...

  7. php面向对象程序设计,PHP面向对象程序设计类的定义与用法简单示例

    本文实例讲述了PHP面向对象程序设计类的定义与用法.分享给大家供大家参考,具体如下: class Person { private $name; private $sex; private $age; ...

  8. java面向过程和面向对象

    面向过程(Procedure Oriented):说的是功能的行为 面向对象(Object Oriented,简称OO):说的是功能的对象 面向过程理解: 当学习java的时候先了解java语言优良的 ...

  9. day22_面向对象

    面向过程: 优点是:极大的降低了写程序的复杂度,只需要顺着要执行的步骤,堆叠代码即可. 缺点是:一套流水线或者流程就是用来解决一个问题,代码牵一发而动全身. 面向对象: 优点是:解决了程序的扩展性.对 ...

最新文章

  1. BrupSuite渗透测试笔记(十一)
  2. Silverlight 4 中数据绑定发生的变化
  3. bootstrap-内联文本元素-插入文本
  4. SAP创建中国版免费在线课程openSAP
  5. 【MFC系列-第32天】控件自绘技术
  6. jQuery 遍历:思路总结,项目场景中如何处理/控制获取的 each 遍历次数?
  7. library的英语怎么读音_如何提高英语听力
  8. vimpython配色_你认为最好看的 Vim 配色方案(color scheme)是哪款?
  9. 素数----南阳OJ
  10. css flex实现经典的三栏布局
  11. CVR/CTR/ROI
  12. python ttk style_python – 关于使用ttk.Style()的问题?
  13. 微信趣味地区一键设置,安排
  14. 在我的计算机看不到移动硬盘,移动硬盘在我的电脑中显示容量但不能显示内容 – 手机爱问...
  15. 选修课:唐宋词鉴赏课堂笔记03
  16. 祝老婆生日快乐(无内容)
  17. 阿里云ECS服务器配置怎么选?
  18. 什么软件能测试电脑能不能玩lol,怎么判断自己的电脑能不能玩lol_电脑配置检测的方法 - 驱动管家...
  19. c语言画板,简单的像素画板(C语言编写)
  20. c语言打印红色爱心(程序员的浪漫)

热门文章

  1. c语言 判断乘法是否溢出,如何判断C语言算术运算的越界问题
  2. python 僵尸进程孤儿进程
  3. python dir()
  4. werkzeug LocalProxy
  5. linux 用户及权限管理
  6. php 防止不登录进入后台,php后台如何避免用户直接进入方法实例
  7. 如何解除服务器注册,《天龙八部手游》服务器注册上限怎么办 服务器注册方法...
  8. Myeclipse学习总结(3)——Myeclipse中的代码格式化、注释模板及保存时自动格式化
  9. php mysql自动反转义_ThinkPHP入库出现两次反斜线转义及数据库类转义的解决方法...
  10. android jni返回bitmap,JNI 层 Bitmap 转 OpenCV Mat