首页 > 其他分享 >总结

总结

时间:2023-12-19 23:33:08浏览次数:27  
标签:总结 子类 try catch 异常 nally 运行

Error
Error是Throwable的子类,代表错误

Error通常是仅靠程序本身无法恢复的严重错误,例如:JVM内存不足或是方法调用过程中栈溢出 (java.lang.StackOverflowError栈溢出)、 (OutOfMemoryError堆溢出)

Exception
Exception是Throwable的子类,代表异常,Exception可非为运行时异常(RuntimeException)和非运行时异常(CheckedException)

RuntimeException
运行时异常、未检查异常,和RuntimeException有直接或间接继承关系的异常类称为运行时异常

特点
编译器不检测此类异常,编译通过,但是运行报错
处理
运行时异常可处理也可以不处理,此类通过严谨代码 可以避免
常见的运行时异常
ArrayIndexOutOfBoundsException( 数组下标越界)
StringIndexOutOfBoundsException( 字符串下标越界)
IndexOutOfBoundsException( 集合中下标越界)
java.lang.NullPointerException(空指针异常)
java.lang.ClassCastException(类型转换异常)
java.lang.NumberFormatException(数字格式转换异常)
CheckedException
非运行时异常、已检查异常,和 RuntimeException没有任何继承关系的异常类称为非运行时异常

特点
编译器检测此类异常,编译报错
处理
非运行时异常一旦出现,必须处理
举例
Class.forName(“Student”);// 区分于语法错误
异常产生的原因
自动产生异常
产生原因
程序运行过程中,遇到错误的代码,自动产生异常
结果
程序中一旦出现异常,程序不能继续执行之后的代码,则程序被终止掉
手动产生异常
关键字
throw
语法
throw new 异常类名(“异常信息”);
位置
定义在方法内部
结果
作用效果类似于 return语句,终止当前方法、函数;程序运行时因异常而被终止掉
异常的传递
Java中的异常沿着方法的调用链进行反方向进行传递,最终传递给JVM

异常的处理
消极处理异常(声明异常)
关键字
throws
位置
在方法声明处
语法
修饰符 返回值类型 方法名(形参列表)throws 异常 的类名1,异常类名2{
// 方法的实现部分
}
消极处理异常时,可以利用其父类型的异常进行处理
结果
消极处理异常只是推卸责任,最终将责任推卸给JVM,程序最终还是因异常而被终止
作用
消极处理异常可以让非运行时异常在编译时通过
积极处理异常
语法
try{
// 可能出现异常的语句
}catch(异常类名 e){
// 异常出现执行的语句
}
try…catch常用语法
try…catch结构,一旦异常出现try…catch 才起作用
try后面可以跟多个 catch结构,一旦try中出现异常,则从 上往下依次进行匹配catch,直到匹配成功
catch中可以利用父类型捕获:本类+所有的子类型的异 常,体现多态
子类型 的 catch 需要定义在 父类型的 catch前面
catch中 只能定义 try中可能出现的非运行时异常; catch中 可以定义任意的 运行时异常,即使try中不可能出现 此类运行时异常
finally
finally表示必须执行的语句

语法
try{
// 可能出现异常的语句
}catch(异常类名 e){
// 异常出现时,执行的语句
}finally{
// 不管有没有异常,必须执行的语句 }
开发时,通常不要将return定义在finally中,finally通常用于关闭资源,例如IO流等

常见的结构小结
try{}catch(){}
try{}catch(){}catch(){}
try{}catch(){}finally{}
try{}catch(){}catch(){}finally{}
以下结构遇到认识:

try{}finally{} 这种做法目的是保证某些代码放在finally中必须执行

try{ try{}catch(){} }catch(){}

try{}catch(){ try{}catch(){} }

try{}catch(){}finally{ try{}catch(){} }

finally要么和try一起,要么try…catch一起,但是不 能单独使用

final、finalize、finally的区别

final:修饰符,可以用于修饰变量、方法、类
final修饰的变量作用范围内的常量,允许一次赋值,不允许修改
final修饰方法允许子类继承使用,但是不允许子类覆盖final修饰的类;不允许子类继承,即没有子类
finalize:方法名,此方法是Object类中的,在垃圾回收器回 收垃圾对
象,jvm自动调用的方法
finally:积极处理异常时结构内容,必须执行的语句定义finally中
常用的结构

try{}catch(){}finally{}
try{}finally{}
自定义异常
一个类继承Exception或是其子类,如果定义的类继承了RuntimeException或是RuntimeException的子类,则此异常为运行时异常;如果此类和RuntimeException 没有任何继承关系,则异常类为非运行时异常
提供两个构造方法
a. 无参数的构造方法
b. 有参数的构造方法,参数类型为String ,接收异常信息利用super(message); 设置异常信息

标签:总结,子类,try,catch,异常,nally,运行
From: https://www.cnblogs.com/yang-----/p/17915120.html

相关文章

  • 常见CUDA题目总结
    Foraneffectivethread-levelcoarseningacrossx-axisfora2Dkernelwithlaunchparameters<<<(16,16,1),(64,16,1)>>>,coarseningfactor4andtargetplatformwithwarpsize8,whatwillbetheminimumandmaximumboundforstri......
  • 今日总结
    理解HBase在Hadoop体系结构中的角色;熟练使用HBase操作常用的Shell命令;熟悉HBase操作常用的JavaAPI。二、实验平台操作系统:Hadoop版本:3.2.2HBase版本:2.2.2JDK版本:1.8JavaIDE:eclipse三、实验内容和要求使用HBaseShell命令完成下列任务:列出HBase所有的表的相关信息,例如表名;list1......
  • 2023.12.19——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.设计模式明日计划:学习......
  • 每日总结
    今天复习了设计模式中的7大原则一、设计模式的七大原则1、单一职责原则(SRP)  对类来说,即一个类应该只负责一项职责。如类A负责两个不同职责:职责1,职责2。当职责1需求变更而改变A时,可能造成职责2执行错误,所以要将类A的粒度分解为A1,A2。2、开闭原则(OCP)  开闭原则就是说对......
  • 12.19每日总结
    今天接着进行了软件企业文化的大作业摘要:本销售计划书旨在为我们创新的软件产品制定全面的销售策略,以确保产品成功进入市场并取得可观的销售业绩。我们的软件产品旨在满足客户需求,并通过有效的市场推广和销售渠道来实现广泛的市场覆盖。3.1产品概述产品名称:大数据分析软件......
  • 2023-2024第一学期第十二周助教总结
    本次总结所属课程2023-2024第一学期计算机基础与程序设计本次作业要求作业要求作业提交情况提交情况一、作业提交情况:本周大部分同学可以做到按时提交作业,只有一小部分同学在作业截止时间内未能按时提交,希望这些同学可以重视每老师布置的作业,认真完成并按时提......
  • flutter开发总结2
    整个flutter的项目的大局观:分层架构、单一职责、模块化我们遵循这几种构建的理念,在不同的项目中可能具体的实现不同,但是大体是这样的。分层架构主要体现在如:业务逻辑层、数据层、表示层单一职责和模块化:common代表一些通用的工具类,data负责接收数据相关,page代表每个界面,login是一个......
  • CSP-S 400分 题单总结
    CSP-S400分题单总结(未完待续)洛谷题号CSP-S400分题单总结(未完待续)洛谷题号知识点/类型T2T3T4T5T6知识点/类型T2T3T4T5拓扑排序 180710387077 树形DP 862530474362 241971132899   874440843177 271219833243  ......
  • 避坑合集|芝麻免押失败排查思路超详细总结(小程序场景)
    在使用小程序对接芝麻免押时,遇到了一些报错,估计把这个接口的坑都踩了个遍,这篇汇总一下我在芝麻免押上遇到的免押失败问题合集,大家注意避坑~对接流程......
  • WebAPI局域网访问出错(经验总结)
    WebAPI局域网访问出错(经验总结)经验一:未设置入站规则方法:控制面板->系统和安全->WindowsDefender防火墙->高级设置->入站规则->新建规则->端口->,如图:下一页特定本地端口为WebAPI在IIS中设置的端口号。选择允许连接,最后起个名称完成即可。即可通过此设备......