1.异常知识点学习实例

代码如下:

 package fromnet;

 /**
* 参考链接:https://blog.csdn.net/qq_18505715/article/details/73196421
* @author MSI-Gaming
*
*/ public class ThrowTest1 { // 定义一个方法,抛出 数组越界和算术异常(多个异常 用 "," 隔开)
public void Test1(int x) throws ArrayIndexOutOfBoundsException,ArithmeticException{ System.out.println(x); if(x == 0){ System.out.println("没有异常");
return;
} //数据越界异常
else if (x == 1){ int[] a = new int[3];
a[3] = 5;
} //算术异常
else if (x == 2){ int i = 0;
int j = 5/0;
}
} public static void main(String[] args) { //创建对象
ThrowTest1 object = new ThrowTest1(); // 调用会抛出异常的方法,用try-catch块
try {
object.Test1(0);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} // 数组越界异常
try {
object.Test1(1);
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("数组越界异常:"+e);
} // 算术异常
try{ object.Test1(2); }catch(ArithmeticException e){ System.out.println("算术异常:"+e);
} System.out.println("有上面的try-catch后,我才可以来");
//使用 throw 抛出异常(可以抛出异常对象,也可以抛出异常对象的引用)
//这边可去掉try来测试
try{ ArrayIndexOutOfBoundsException exception = new ArrayIndexOutOfBoundsException(); throw exception;//new ArrayIndexOutOfBoundsException();//去掉这一行就是生吞异常了,不报异常 }catch(ArrayIndexOutOfBoundsException e){ System.out.println("thorw抛出异常:"+e);
} } }

2.分析

#在方法Test1()中,如果不抛出异常,即throws。。。,再在main中调用Test1方法object.Test1(1);就会出现ArrayIndexOutOfBoundsException异常情况,并在控制台中能定位到异常位置。

#在main中自定义异常ArrayIndexOutOfBoundsException  exception,并throw。如果没有catch的话,就会在发生异常情况,而catch后,就会处理catch中的处理语句

参考https://blog.csdn.net/qq_18505715/article/details/73196421

Java核心技术36讲----------Exception和Error有什么区别的更多相关文章

  1. java核心技术-(总结自杨晓峰-java核心技术36讲)

    1. 谈谈你对java平台的理解 首先是java最显著的两个特性,一次写入处处运行:还有垃圾收集器gc,gc能够对java内存进行管理回收,程序员不需要关心内存的分配和回收问题 然后谈谈jre和jdk ...

  2. 《Java核心技术36讲》阅读笔记:Exception和Error有什么区别?

    1.Exception 和 Error有什么区别?运行时异常与一般异常有什么区别? Exception和Error都继承自java.lang.Throwable.在Java中只有Throwable的实 ...

  3. 《java核心技术36讲》学习笔记-------杨晓峰(极客时间)

    非常荣幸作为晓峰哥的同事,之前就看过这篇文章,重写读一遍,再学习学习. 一.开篇词 初级.中级:java和计算机科学基础.开源框架的使用:高级.专家:java io/nio.并发.虚拟机.底层源码.分 ...

  4. java面试题(杨晓峰)---第二讲Exception和Error有什么区别?

    本人总结: Exception和Error:正常问题和意外问题,以自行车举例:没气和爆胎. ①理解Throwable,Exception,Error的设计和分类. ②掌握哪些应用最广泛的子类, ③如何 ...

  5. java核心技术36讲笔记

    Java-Basic 谈谈final. finally. finalize有什么不同? 典型回答: final可以用来修饰类.方法.变量,分别有不同的意义, final修饰的class代表不可以继承扩 ...

  6. 《Java核心技术36讲》阅读笔记:谈谈对Java平台的理解笔记

    1. 谈谈你对Java平台的理解. Java是一种面向对象的语言,最显著的特性有两个方面: 一个就是一次编译,到处运行(Write once, run anywhere),能够非常容易的获得跨平台能力 ...

  7. Java核心技术36讲----------谈谈final、finally、finalize有什么不同

    一.final 1.final修饰方法时,需要注意的点: #final修饰方法时,之前的第二个原因是效率.但是如果方法过于庞大,可能看不到内嵌调用带来的任何性能提升.在最近的Java版本中,不需要使用 ...

  8. java核心技术36讲

    https://time.geekbang.org/column/intro/82?utm_source=website&utm_medium=infoq&utm_campaign=8 ...

  9. Exception 和 Error 有什么区别么

    声明 本篇所涉及的提问,正文的知识点,全都来自于杨晓峰的<Java核心技术36讲>,当然,我并不会全文照搬过来,毕竟这是付费的课程,应该会涉及到侵权之类的问题. 所以,本篇正文中的知识点, ...

随机推荐

  1. 使用FMDB最新v2.3版本教程

    使用FMDB教程 本教程针对于第一次接触开源库FMDB的同胞,从如何下载源码如何导入工程如何创建数据库如何写增删改查开始.使用的时最新版本的FMDB v2.3. 此教程开始日期为 2014.5.5 P ...

  2. QT的组件布局

    在QT的IDE下,编写一个自定义布局. #include<QApplication> #include<QWidget> #include<QSpinBox> #i ...

  3. LaTeX-WinEdt 编辑器和 PDF 文件的 Acrobat 11 程序关联

    WinEdt 编辑器和 PDF 文件的 Acrobat 11 程序关联 CTeX 套装 2.8 版本以后,也就是09年9月以后的版本加入了SumatraPDF程序,将PDF文件与Acrobat程序取消 ...

  4. 模糊搜索框(H5),兼容安卓和ios(令人头大的ios输入法)

    项目里要可以实现,按照模糊,于是从jq22网站找到一个代码,效果如图: 具体的html代码:(复制,需要引入jq相关的支持文件) <!DOCTYPE html PUBLIC "-//W ...

  5. 笔记,记事软件(RedbookNote, lifeopraph)

    许多人重视记日记是因为它是一种以天为基础保存个人或商务信息的良好方式:持续跟踪每天的生活和思想上的点点滴滴,组织和巩固记忆.思考.商业交易.电子邮件.账单.未来计划.联系人列表,甚至是秘密信息.Lin ...

  6. vbox安装 ubuntu server 后 安装增强包

    用vbox安装虚拟机系统如果不装增强包, 有很多东西就有点不好用-用vbox安装ubuntu server时,点击菜单中的安装增强功能.因为ubuntu server版本没有ui,所以不能很方便滴找到 ...

  7. 转 C++11 并发指南std::condition_variable详解

    之前看过,但是一直没有怎么用就忘了,转一篇别人的文字记录下来 本文将介绍 C++11 标准中 <condition_variable> 头文件里面的类和相关函数. <conditio ...

  8. Oracle 查找带有CLOB字段的所有表

    查找带有CLOB字段的以HEHE开头的所有表 select t.column_name ,DATA_TYPE,TABLE_NAMEfrom user_tab_columns twhere t.TABL ...

  9. Impala 加载Hive的UDF

    Impala的UDF有两种: Native Imapal UDF:使用C++开发的,性能极高,官方性能测试比第二种高出将近10倍 Hive的UDF:是Hive中的UDF,直接加载到Impala中,优点 ...

  10. python代码是解释型语言,为什么还有编译过程?

    Python 代码在运行前,会先编译(翻译)成中间代码,每个 .py 文件将被换转成 .pyc 文件,.pyc 就是一种字节码文件,它是与平台无关的中间代码,不管你放在 Windows 还是 Linu ...