zoukankan      html  css  js  c++  java
  • Java面向对象之异常(异常处理方式)

    一、基础概念

      (1)异常:Java程序在运行时期发生的不正常情况。

         Java就按照面向对象的思想对不正常情况进行描述和对象的封装。

      (2)异常问题分类: (Throwable:定义对于问题共性的功能。)

         1.Error:由系统底层发生的,jvn告诉使用者。不做针对性处理,直接修改代码。

         2.Exception:发生并告诉使用者,可以进行针对性的处理。

      (3)异常的处理情况

        1.遇到问题不进行具体的处理,继续抛给调用者。就是在函数上通过throws关键字声明异常。目的是让调用者可以进行处理。

        2.针对性的处理方式:捕获!
          try
          {
          //有可能发生异常的代码。
          }
          catch(异常类 变量)
          {
          //这是真正的捕获,处理异常的代码;
          }
          finally
          {
          //一定会被执行的代码。
          }

     二、虚拟机处理异常代码

     1 class Demo
     2 {
     3     int div(int a,int b)throws Exception//声明异常Exception
     4     {
     5         return a/b;
     6     }
     7 }
     8     
     9 class ExceptionDemo1
    10 {
    11     public static void main (String[] arge)throws Exception//将异常Exception抛给虚拟机处理
    12     {
    13         Demo d = new Demo();
    14         int num = d.div(4,0);
    15         System.out.println("num="+num);
    16         System.out.println("over");
    17     }
    18 }

      

     三、捕获处理异常代码(二)

    
    
     1 class Demo
     2 {
     3     int div(int a,int b)throws Exception//声明异常Exception
     4     {    
     5         return a/b;//throw new ArithmeticException("/ by zero")抛给调用者。
     6     }
     7 }
     8     
     9 class ExceptionDemo1
    10 {
    11     public static void main (String[] arge)
    12     {
    13         Demo d = new Demo();
    14         
    15         //对异常进行处理
    16         try
    17         {
    18             int num = d.div(4,0);
    19             System.out.println("num="+num);
    20         }
    21         catch(Exception e)
    22         {
    23             //处理这个对象,可以使用该对象的方法。
    24             System.out.println("处理异常的代码:除数不能为0");
    25             System.out.println(e.getMessage());//异常信息
    26             System.out.println(e.toString());//异常名称+异常信息
    27             e.printStackTrace();//异常名字+异常信息+位置。jvm默认处理收到异常就是调用这个方法。将信息显示在屏幕上。
    28         }
    29         System.out.println("over");
    30     }
    31 }
    
    

      

  • 相关阅读:
    SpringFramework|@Autowired
    SpringFramework|@Required的使用
    SpringFramework|基于XML的两种自动装配
    SpringFramework|基于XML的各类集合注入
    SpringFramework|基于XML的依赖注入
    erlang vim
    svn 强制输入提交日志
    vim配置
    克隆centos6后配置网络
    git 免密
  • 原文地址:https://www.cnblogs.com/zhuxr/p/9019583.html
Copyright © 2011-2022 走看看