关键词:
1. 简述Java Error类与Exception类的区别。
- 共同点:
- 都继承自第一层次的Object和第二层次的Throwable类
- 不同点:
- Error类:不是需要程序进行捕获和处理的,Error抛出后程序停止运行。
- Exception类:虚拟机系统根据异常的类型产生相应的异常对象,程序可以继续对抛出的异常进行捕获和相应的处理。
2. 简述异常处理的两种方式,并举例说明区别。
-
声明抛出处理:
- RunTimeException或其子类的异常,属于默认声明抛出。可以对其不做任何声名抛出或处理,交由调用该方法的地方处理(main方法交由JVM处理),编译时不会对可能产生异常地方给出提示;
- 其他异常类必须显示声明抛出。 例如
public static void main(String args[]) throws IOExceprion;
-
程序捕获处理:
通过使用try - catch - [finally]
语句块,用来对可能产生异常的代码产生的异常进行捕获,并根据其异常类型进行不同的操作。
3. 选取RuntimeException类的五个子类,编写抛出并捕获上述子类异常的程序。
import java.util.EmptyStackException; import java.util.Stack; class A int v = 6; public int getV() return v; public class ExcpOp public static void Arithmetic() int a = 6, b = 0; try int c = a / b; catch (ArithmeticException ae) System.out.println(ae.getClass().getName()+" has been throw"); finally System.out.println("ArithmeticEp is over! "); public static void NullPointer() try A a = null; a.getV(); catch (NullPointerException npe) System.out.println(npe.getClass().getName()+" has been throw"); finally System.out.println("NullPointer is over! "); public static void EmptyStack() Stack s = new Stack(); try s.push(5); s.pop(); System.out.println("Pop 1"); s.pop(); System.out.println("Pop 2"); catch (EmptyStackException ese) System.out.println(ese.getClass().getName()+" has been throw"); finally System.out.println("EmptyStack is over! "); public static void IndexOutOfBounds() int[] a = new int[3]; for (int i = 0; i<3 ; i++ ) a[i] = i; try System.out.println(a[4]); catch (IndexOutOfBoundsException ioe) System.out.println(ioe.getClass().getName()+" has been throw"); finally System.out.println("EmptyStack is over! "); public static void NegativeArraySize() try int[] a = new int[-3]; catch (NegativeArraySizeException nase) System.out.println(nase.getClass().getName()+" has been throw"); finally System.out.println("NegativeArraySize is over! "); public static void main(String[] args) ExcpOp.Arithmetic(); ExcpOp.EmptyStack(); ExcpOp.IndexOutOfBounds(); ExcpOp.NegativeArraySize(); ExcpOp.NullPointer();
4. 仿照例7.9,自己定义一个异常类,并在某场景下抛出该异常对象。
public class MyException extends Exception MyException(String msg) super(msg); public static void Throw(int a) throws MyException if(a <= 666) throw new MyException(" 输入不666 "); public static void main(String[] args) int a = 660; try MyException.Throw(a); catch (MyException me) me.printStackTrace(); a = 668; finally System.out.println("此时 a = "+a);
解决dockerhub仓库下载镜像网络异常问题(代码片段)
本文记录下最近在学习Docker容器技术时遇到的一些问题,以此记录下问题分析排查过程故障问题:通过dockerpull从公共仓库DockerHub下载镜像失败[[email protected]~]#dockerpullubuntu:14.04Tryingtopullrepositorydocker.io/library/ubuntu...14.04:Pullingfro... 查看详情
asp.netcore依赖注入和管道方式的异常处理及日志记录(代码片段)
...的异常捕获方式:管道捕获/服务过滤;通过本练习,将学习到如何捕获异常、处理异常跳转、记录异常信息。搭建框架????首先,创建一个WebApi项目,选择Asp.NetCoreW 查看详情
flink学习记录--入门篇(代码片段)
...日志按需要加工后倒入到存储DB中做查询报表。为什么要学习Flink,因为最近碰到一些实时计算性能问题,其次也不太理解实时计算底层 查看详情
vue学习--问题记录(代码片段)
1、Uncaught(inpromise)TypeError:Cannotreadproperty‘protocol‘ofundefined关于axios引用方法的报错在main.js中使用importaxiosfrom‘axios‘导入axios后使用Vue.use(axios)出现了该错误,判断为引入方式错误改为Vue.prototype.axios=axios后问题解决 查看详情
记录异常日志的7条规则(代码片段)
最近一直在帮忙调试一些让人头大的bug问题,这才意识到如何记录异常日志对于简化调试的重要性,我总结了几点记录异常日志的最佳实践发表在此。1、记录技术性异常而不是用户异常用户异常(如:“登录用户名已经存在&... 查看详情
kotlin学习使用之旅(代码片段)
...有了一篇了,那是刚知道kotlin的时候草(chao)来(chao)的并且学习一篇,这次是自己在项目中正式使用并且遇到的一些问题记录,供kotlin新入门的童鞋参考,避免我的弯路(当然,这里的都是其他地方会有的,因为我也是在边学边记录)难点理... 查看详情
python学习之旅--异常(代码片段)
1,异常目的:知道异常的作用和编写格式操作流程#1,异常处理的第一种形式,try..except#try:#1/0#print("try...可能出现问题的代码")#exceptException:#print("except..出现问题之后,在这里进行处理")#2,异常处理的第二种格式,try..except...f... 查看详情
异常检测(anomalydetection)(代码片段)
...,我将向大家介绍异常检测(Anomalydetection)问题。这是机器学习算法的一个常见应用。这种算法的一个有趣之处在于:它虽然主要用于非监督学习问题,但从某些角度看,它又类似于一些监督学习问题。什么是异常检测呢?为了解... 查看详情
python学习笔记(代码片段)
...配5.其它5.1.StringIOBytesIO5.2.序列化5.2.1pickle5.2.2.JSON供个人学习笔记回顾时使用.1.异常没啥说的,语法换下而已.下文只会记录一下和JS语法不同的地方:基础语法:try...except...finally...一.可以expect多个异常,例 查看详情
etl基本介绍博学谷学习记录(代码片段)
1.概念1.1Extract1、抽取OLTP的数据2、抽取日志数据3、通过接口抽取第三方数据1.2Transform1、数据清洗 丢弃一些异常数据 处理一些脏数据 处理一些重复数据2、数据的格式转换 日期: crate_time year month day 2022-12-... 查看详情
django后端开发学习笔记:记录一些小问题(代码片段)
目录常见问题参考零散知识点1.DRF获取参数的方式2.DateTimeField3.DRF中的action常见问题参考这里记录下以后可能会用上的东西【1】Shell脚本启动django的runserver【2】Djangorestframework自定义返回数据格式【3】djangorestframework实现单个和群... 查看详情
django后端开发学习笔记:记录一些小问题(代码片段)
目录常见问题参考零散知识点1.DRF获取参数的方式2.DateTimeField3.DRF中的action常见问题参考这里记录下以后可能会用上的东西【1】Shell脚本启动django的runserver【2】Djangorestframework自定义返回数据格式【3】djangorestframework实现单个和群... 查看详情
java学习笔记3.10.5异常处理-自定义异常(代码片段)
文章目录零、本讲学习目标一、为何要自定义异常(一)存在问题(二)解决方法二、使用自定义异常(一)语法格式(二)案例演示1、创建三角形类2、创建计算三角形面积类3、创建三角形异常类4、方法抛出自定义异常5、进... 查看详情
react错误处理和日志记录的思考与设计(代码片段)
...口异常前端异常如何上报数据?接口异常前端异常存在的问题处理上报异常和通知参考React错误处理和日志记录的思考与设计在平时的工作,js报错是比较常见的一个情景,当出现错误的时候,用户上报问题我们往往需... 查看详情
python入门基础学习记录汇率案例学习记录(代码片段)
一、汇总整理1.操作①新建python文件工程右键--new--pythonfile 2.注意问题与知识点 》变量定义:直接写变量名即可,例如定义一个字符串并赋值123:rmb_str=‘123’。特别需要注意的,python对格式的要求,等号左右要有... 查看详情
vue学习遇到的问题记录(长期)(代码片段)
一、组件滑动条组件 el-scrollbar,官方文档未找到相关介绍二、问题:1、elementUItree控件过长无法滑动树行控件外出套个divclass为treediv,设置以下style即可实现,解决来源:https://blog.csdn.net/u012138137/article/details/81196257.treedivoverfl... 查看详情
expo大作战(十七)--expo结合哨兵(sentry)进行错误异常记录(代码片段)
...demo测试的形式,对expo进行一次大补血!欢迎加入expo兴趣学习交流群:597732981【之前我写过一些列关于expo和rn入门配置的东i西,大家可以点击这里查看:从零学习rn开发】相 查看详情
前端学习记录(十五)jsonbird解决跨域请求问题(代码片段)
最近在用vuecli框架搭建一个项目练习,其中一个页面需要猫眼电影的数据接口,想实现的最终效果如下: ... 查看详情