我们编译运行程序出错的时候,编译器就会抛出异常。抛出异常要比终止程序灵活许多,这是因为

的Java提供了一个“捕获”异常的的处理器(处理器)对异常情况进行处理。

如果没有提供处理器机制,程序就会终止,并在控制台上打印一条信息,给出异常的类型.L

比如:使用了NULL引用或者是数组越界等。

异常有两种类型:未检查异常和已检查异常对于已检查异常,处理器器将会检查是否提供了处理器。

然而有许多の异常,如:访问null引用,都属于未检查异常。编译器不会查看是否为这些错误提供了

处理器。毕竟,应该用严谨的态度来对待写代码,依次避免这些错误的发生,而不是将精力花在编写

异常处理器上。

废话少说,show coder: 
 / * try catch:自己处理异常
  * try {
  *可能出现异常的代码
  *} catch(异常类名A e){
  *如果出现了异常类A类型的异常,那么执行该代码
  *} ...(catch可以有多个)
  * finally {
  *最终肯定必须要执行的代码(例如释放资源的代码)
  *}
  *代码执行的顺序:
  * 1.try内的代码从出现异常的那一行开始,中断执行
  * 2.执行对应的catch块内的代码
  * 3.继续执行try catch结构之后的代码
  *注意点:
  * 1.如果catch内的异常类存在子父类的关系,那么子类应该在前,父类在后
  * 2。如果最后中有返回语句,那么最后返回的结果肯定以最终中的返回值为准
  * 3。如果最后语句中有回报,那么没有被处理的异常将会被吞掉
  *重写的注意点:
  * 1.儿子不能比父亲的本事大
  * 2.儿子要比父亲开放
  * 3.儿子不能比父亲惹更大的麻烦(子类的异常的类型不能是父类的异常的父类型)
  *异常类Api:
  * 1。的getMessage():获取异常描述信息字符串
  * 2。的toString():返回异常类的包路径和类
名和异常描述信息字符串  * 3。的printStackTrace():除了打印的toString的信息外,还要打印堆栈信息
  * /

上面一段注释来自网上这位博主的,觉得写的很好,传送门地址:https://blog.csdn.net/wanghuiwei888/article/details/78818203

package Bird;import java.io.FileNotFoundException;
import java.io.FileReader;//
public class TestYc {public static void main(String[] args) {try{FileReader fr = new FileReader("c:/abc.txt");} catch (FileNotFoundException e) {//打印输出异常e.printStackTrace();}       Mother mother  = new Mother();mother.bbb();//1.編譯時異常//讀取該路徑"c:/abc.txt"下的文件/* try {FileReader fr = new FileReader("c:/abc.txt");}catch(FileNotFoundException e) {//打印输出异常e.printStackTrace();}*/int [] arr = new int[] {1,2,3};System.out.println(arr[2]);}
}class Mother {private Boy b = null;// 构造器public Mother() {b = new Boy();}public void bbb() {// TODO Auto-generated method stub//调用带有异常的方法try {b.aaa();}catch(FileNotFoundException e) {e.printStackTrace();}}
}class Boy {// throws 把异常抛给上层的调用者public  void aaa() throws FileNotFoundException{FileReader fr = new FileReader("c:/abc.txt");}
}

运行截图,文件打开不存在:

正常运行截图:

GG  :)

浅谈Java中try catch 的用法相关推荐

  1. 浅谈Java中的Set、List、Map的区别

    就学习经验,浅谈Java中的Set,List,Map的区别,对JAVA的集合的理解是想对于数组: 数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),JAVA集合可以存储和操 ...

  2. 浅谈JAVA中如何利用socket进行网络编程(二)

    转自:http://developer.51cto.com/art/201106/268386.htm Socket是网络上运行的两个程序间双向通讯的一端,它既可以接受请求,也可以发送请求,利用它可以 ...

  3. aba会导致问题_浅谈Java中ABA问题及避免

    本文主要研究的是关于Java中ABA问题及避免的相关内容,具体如下. 在<Java并发实战>一书的第15章中有一个用原子变量实现的并发栈,代码如下: public class Node { ...

  4. java 线程aba,浅谈Java中ABA问题及避免,浅谈javaaba避免

    浅谈Java中ABA问题及避免,浅谈javaaba避免 本文主要研究的是关于Java中ABA问题及避免的相关内容,具体如下. 在<Java并发实战>一书的第15章中有一个用原子变量实现的并 ...

  5. java 中的单元测试_浅谈Java 中的单元测试

    单元测试编写 Junit 单元测试框架 对于Java语言而言,其单元测试框架,有Junit和TestNG这两种, 下面是一个典型的JUnit测试类的结构 package com.example.dem ...

  6. java中修饰常量的事_浅谈java中的声明常量为什么要用static修饰

    今天定义一个类常量,想着也只有这个类可以用到,就没用static关键字修饰.结果sonar代码检查提示: Rename this field "PERSON_TYPE_USER" ...

  7. scale和java比较_浅谈java中BigDecimal的equals与compareTo的区别

    这两天在处理支付金额校验的时候出现了点问题,有个金额比较我用了BigDecimal的equals方法来比较两个金额是否相等,结果导致金额比较出现错误(比如3.0与3.00的比较等). [注:以下所讲都 ...

  8. file相对路径java_浅谈java 中文件的读取File、以及相对路径的问题

    一.对于java项目中文件的读取 1.使用system 或是 系统的properties对象 ①直接是使用 string relativelypath=system.getproperty(" ...

  9. java中的强制类型转换注意事项_浅谈Java中强制类型转换的问题

    为了更好的理解我们先看下面的例子: package com.yonyou.test; import java.util.ArrayList; import java.util.Iterator; im ...

最新文章

  1. 【python】一个目录里面多个python程序文件,统计一下里面有多少行代码。即分别列出:代码、空行、注释的行数。
  2. EXE文件中的程序的加载过程 SA是什么呢?PSP是什么?
  3. 性能测试相关名词解释
  4. python学习——把计算GC含量的代码封装成函数
  5. 奇妙的安全旅行之DSA算法
  6. c语言调用createthread线程的头文件_易语言API多线程总汇
  7. ASI进行POST网络请求
  8. CF Educational Codeforces Round 57划水记
  9. 解决pycharm debug时 界面下方不出现step等按钮以及变量值的情况
  10. 火箭、飞行器、探测器的发射
  11. es查询两列相减大于某个值的数据_南京师范大学汇编语言期末试卷
  12. 计算机自动隐藏桌面图标,AutoHideDesktopIcons-定时、自动隐藏桌面图标,让电脑更清爽!...
  13. 使用计算机粘贴板的步骤,电脑中快速打开剪贴板查看器的方法
  14. Python学习之路-爬虫(四大名著)
  15. hdu 5285 wyh2000 and pupil 二分图染色发判定,求最大匹配
  16. 提取图片文字,python三行代码足矣!
  17. MICCAI 2019 Proceeding 论文集part1-6
  18. Linux输入子系统框架
  19. 阿里国际站新版关键词你升级了吗?
  20. 中文翻译泰文难吗?如何做好泰文翻译?

热门文章

  1. 【自学笔记】前端面试题之CSS(部分HTML)
  2. @zxing/library实现平板手机扫码功能(二维码+条形码)
  3. leaflet 导出图片,打印图片(A4横版或竖版)
  4. 会话技巧---英文单词
  5. 44、建筑的外墙保温与装饰工程的防火检查
  6. 微信小程序获取当前所在城市(地区定位与切换)
  7. C#导入导出数据到Excel的通用类源码
  8. 没有大招的火山引擎,拿下70%大模型玩家
  9. matlab勾股定理,勾股定理的两个物理证明
  10. C语言阶段小项目(火车购票系统)