Java基础重点知识点《异常01》

云惠网小编 2021年11月25日19:19:12
评论
2779字阅读9分15秒
摘要

( 后续还有有更新,大伙们看看,交流学习下

广告也精彩

     这个信息被我们称为:异常信息,这个信息是JVM打印的

          小刘家房子塌了(异常对象)

3.2异常对应的现实生活:

    UML是一种统一建模语言。
    一种图标式语言(画图的)
    UML不是只有java中使用。只要是面向对象的编程语言,都有UML。
    一般画UML图的都是软件架构师或者说是系统分析师。这些级别的人员使用的。
    软件设计人员使用UML。

    在UML图中可以描述类和类之间的关系,程序执行的流程,对象的状态等.

以下的程序执行的过程中发生了不正常的情况,而这种情况叫做:异常。JAVA语言是一门十分完善的语言,提供了异常的处理方式,以下程序执行过程中出现了不正常的情况,JAVA把异常打印输出到了控制台,提供给程序员参考。程序员看到这个异常之后,可以对程序进行修改,让程序更加健壮

      ......................

    4.1、异常在java中以类和对象的形式存在。那么异常的继承结构是怎样的?
    我们可以使用UML图来描述一下继承结构。
    画UML图有很多工具,例如:Rational Rose(收费的)、starUML等....
        Object
        Object下有Throwable(可抛出的)
        Throwable下有两个分支:Error(不可处理,直接退出JVM)和Exception(可处理的)
        Exception下有两个分支:
            Exception的直接子类:编译时异常(要求程序员在编写程序阶段必须预先对这些异常进行处理,如果不处理编译器报错,因此得名编译时异常。)。
            RuntimeException:运行时异常。(在编写程序阶段程序员可以预先处理,也可以不管,都行。)
    
    4.2、编译时异常和运行时异常,都是发生在运行阶段。编译阶段异常是不会发生的。
    编译时异常因为什么而得名?

        因为编译时异常必须在编译(编写)阶段预先处理,如果不处理编译器报错,因此得名。
        所有异常都是在运行阶段发生的。因为只有程序运行阶段才可以new对象。
        因为异常的发生就是new异常对象。

    
    4.3、编译时异常和运行时异常的区别?

        运行时异常一般发生的概率比较低。
            举个例子:

                小明走在大街上,可能会被天上的飞机轮子砸到。
                被飞机轮子砸到也算一种异常。
                但是这种异常发生概率较低。
                在出门之前你没必要提前对这种发生概率较低的异常进行预处理。
                如果你预处理这种异常,你将活的很累。

        
        假设你在出门之前,你把能够发生的异常都预先处理,你这个人会更加
        的安全,但是你这个人活的很累。
        
        假设java中没有对异常进行划分,没有分为:编译时异常和运行时异常,
        所有的异常都需要在编写程序阶段对其进行预处理,将是怎样的效果呢?
            首先,如果这样的话,程序肯定是绝对的安全的。
            但是程序员编写程序太累,代码到处都是处理异常
            的代码。

    盖大楼和软件开发一样,一个道理。
        盖楼之前,会先由建筑师画图纸。图纸上一个一个符号都是标准符号。
        这个图纸画完,只要是搞建筑的都能看懂,因为这个图纸上标注的这些
        符号都是一种“标准的语言”。
    
    在java软件开发当中,软件分析师/设计师负责设计类,java软件开发人员
    必须要能看懂。

     房子塌了(异常类):

    

      什么是异常:程序的执行过程中的不正常情况

2.以下的程序执行控制台出现了

      类:模板

1.什么是异常?JAVA提供的异常处理机制有什么用?

package ExceptionTest01;
public class Test02 {
public static void main(String[] agrs){
//通过异常类创建对象
NumberFormatException nfe = new NumberFormatException("这是数字格式化异常");
//数字格式化异常
System.out.println(nfe);
//通过异常类创建对象
NullPointerException npe = new NullPointerException("这是空指针异常");
//空指针异常
System.out.println(npe);
}
}

3.1.异常在JAVA中以类的形式存在的,每一个异常类都可以创建对象

          小王家房子塌了(异常对象)

package ExceptionTest01;
public class Test01 {
public static void main(String[] agrs){
int a = 10;
int b = 0;
//实际上JVM在执行到这个地方的的时候,会new异常对象的new ArithmeException("/by zero");
//JVM把new的异常对象抛出了,并且打印到屏幕上了
int c = a / b;
System.out.println(a + "/" + b + "=" + c);
/*
//我观察到了异常之后,对异常进行处理(对程序进行修改)
if(b == 0){
System.out.println("程序有异常,除数不能为0");
return;
}
int c = a / b;
System.out.println(a + "/"+ b + "=" + c);
*/
}
}

          小陈家房子塌了(异常对象)

      Exception in thread "main" java.lang.ArithmeticException:/by zero

        编译时异常一般发生的概率比较高。
            举个例子:

                你看到外面下雨了,倾盆大雨的。
                你出门之前会预料到:如果不打伞,我可能会生病(生病是一种异常)。
                而且这个异常发生的概率很高,所以我们出门之前要拿一把伞。
                “拿一把伞”就是对“生病异常”发生之前的一种处理方式。

   

      异常的作用:增强了程序的健壮性

4.java的异常处理机制

3.JAVA语言中异常以什么形式存在的?

                对于一些发生概率较高的异常,需要在运行之前对其进行预处理。

      对象:实际存在的个体

6.UML图(补充内容)

本文转自 https://blog.csdn.net/weixin_48377681/article/details/121522817

腾讯云618
云惠网小编
cgb2110-day06 java

cgb2110-day06

文章目录一,模拟用户登录过程--1,需求--2,测试--3,程序优化二,SQL攻击/注入--1,概述--2,解决方案--3,修改代码--4,两种传输器的区别三,练习新的传输器--1...
JAVA 初级程序员常见问题分析 java

JAVA 初级程序员常见问题分析

1、怎么样可以尽快拿到offer?针对心仪的企业、岗位进行调查。可以上招聘网站看看其岗位要求,以及企业的面试题。然后针对性的学习其要求的技术。这样有针对性的准备,投其所好,就可更快...
关于数据库学习的一些知识盲区 java

关于数据库学习的一些知识盲区

一.SQL拼接方法的安全风险 1. SQL注入问题(SQL Inject),使用字符串拼接构造SQL就会引起SQL注入。 2. SQL注入是存在安全风险的 3. 例如:在图书管理系...
szu-exp 安卓开发实验3我的校园 java

szu-exp 安卓开发实验3我的校园

发扬开源精神... 给个赞吧giegiejiejie们 实验目的与要求: 目的:掌握安卓中活动的编写、自定义用户界面的开发、碎片开发、广播机制以及数据持久化技术等;并能通过对课堂知...
腾讯云618

发表评论