一、处理异常的第二种方法

1.try......catch...

语法:


try{

  可能出现异常的代码;

}catch{

  处理异常的代码;

}catch{

注意:

(1)引入了什么异常,catch里面就要写清楚,出现了什么异常该怎么办;

(2)异常也可以有父类和子类,按照从上到下的顺序进行捕捉;因此当写异常的时候需要按照从上到下,从小到大(也就是从子类异常到父类异常)

(3)try,,,catch....中最多执行一个catch语句块,执行结束之后try.....catch....就结束了。


package com.bjpowernode.java_learning;

import java.io.*;

public class D63_1_TryCatchExercise {

  public static void main(String[] args) {

    try {

      FileInputStream f1 = new FileInputStream("C:\\user");

      f1.read();

    }catch(ArithmeticException a) {

    }catch(FileNotFoundException f) {

    }

  }

}

对于throws处理的异常,要对代码块中可能出现的异常进行覆盖,否则就会报错,例如:原因就是没有处理read()方法引入的IOException异常。

package com.bjpowernode.java_learning;

import java.io.*;

public class D63_1_TryCatchExercise {

  public static void main(String[] args) throws FileNotFoundException{

      FileInputStream f1 = new FileInputStream("C:\\user");

      f1.read();

   }

}

改正方式就是改一行代码

public static void main(String[] args) throws FileNotFoundException,IOException

二、getMessage与printStackTrace方法

package com.bjpowernode.java_learning;

import java.io.*;

public class D63_2_MethodOfgetMessageAndprintStackTrace {

  public static void main(String[] args) {

    try {

      FileInputStream f1 = new FileInputStream("C:\\fjdoa");

    }catch (FileNotFoundException e) {

      //打印异常堆栈信息

      //一般情况下都会使用该方法去调试程序

      e.printStackTrace();

      //下面这个方法与上面这个方法的功能其实是一样的,但是通常使用上面的方法,因为上面的方法能够打印出更加详细的信息

      String msg = e.getMessage();

      System.out.println(msg);

    }

    System.out.println("ABC");

  }

}

三、源码:

D63_1_TryCatchExercise.java

D63_2_MethodOfgetMessageAndprintStackTrace.java

https://github.com/ruigege66/Java/blob/master/D63_1_TryCatchExercise.java

https://github.com/ruigege66/Java/blob/master/D63_2_MethodOfgetMessageAndprintStackTrace.java

2.CSDN:https://blog.csdn.net/weixin_44630050

3.博客园:https://www.cnblogs.com/ruigege0000/

4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

最新文章

  1. Linux快速入门01-基础概念
  2. (转)【深入浅出jQuery】源码浅析2--奇技淫巧
  3. atitit.为什么java体系开发效率这样低的原因and解决
  4. MY_FAVOR_火埃及
  5. eclipse慢 优化(转)
  6. 基于visual Studio2013解决C语言竞赛题之1085相邻之和素数
  7. 【Objective-C 基础】4.分类和协议
  8. iOS 加锁的方式
  9. Python3 timeit的用法
  10. ubantu 安装redis
  11. binarysearchtree
  12. Hadoop基础-MapReduce的数据倾斜解决方案
  13. tornado输出json
  14. 关于Unity中地形的创建
  15. JSON.stringify报cyclic object value错误
  16. VS05 VS08 VS10 工程之间的转换
  17. Egret动态设置按钮的图片
  18. Go第二篇之基本语法总结
  19. LeetCode--122--卖卖股票的最佳时机II
  20. java一个字符串中出现次数最多的字符以及次数

热门文章

  1. 探索 IPv6 网络
  2. day 13 生成器函数 表达式 推导式
  3. 第9场 E-All men are brothers(并查集)
  4. SpringMVC 前端传递list到后台
  5. 基于 HTML5 + WebGL 的宇宙 3D 展示系统
  6. Linux安装python环境脚本
  7. Linux安装图像页面的命令
  8. hashtable基础
  9. wpa_supplicant的移植
  10. SQL追踪器的安装和使用