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 }
复制代码

  

 

posted @   竹小冉  阅读(1198)  评论(0编辑  收藏  举报
编辑推荐:
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
阅读排行:
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 《HelloGitHub》第 106 期
· 数据库服务器 SQL Server 版本升级公告
· 深入理解Mybatis分库分表执行原理
· 使用 Dify + LLM 构建精确任务处理应用
点击右上角即可分享
微信分享提示