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

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

Java连载63-异常处理try...catch...、方法getMessageyu printStackTrace的更多相关文章

  1. Java中的异常处理try catch(第八周课堂示例总结)

    异常处理 使用Java异常处理机制: 把可能会发生错误的代码放进try语句块中. 当程序检测到出现了一个错误时会抛出一个异常对象. 异常处理代码会捕获并处理这个错误. catch语句块中的代码用于处理 ...

  2. Java连载57-equals重写、finalize方法、hashCode方法​

    一.关于java语言中如何比较两个字符串是否一致 1.不能使用双等号来比较两个字符串是否相等,应该使用equals方法进行比较,如例子 package com.bjpowernode.java_lea ...

  3. Java连载27-有返回值的方法注意点

    一.方法注意点 (1)方法的调用不一定再main方法中,可以在其他方法中进行调用,只要是程序执行到的位置,都可以去调用其他方法. (2)方法调用的时候,实参和形参要求个数对应相同,数据类型对应相同,方 ...

  4. Java连载30-方法重载、方法递归

    一.方法重载 1.又被称为overload 2.方法重载使用场景 功能类似的时候,尽可能仍方法名相同(但是功能不同或者不相似的时候,方法名尽量不同) 3.什么条件满足之后,可以构成方法重载 (1)在同 ...

  5. Java连载56-toSting方法和equals方法

    一.关于object中的toString​方法: 1.SUN公司在Object类中设计toString方法的目的:返回java对象的字符串的表示形式. 2.在现实的开发过程中,Object里面的toS ...

  6. Java连载45-继承举例、方法覆盖

    一.Java语言中假设一个类没有显式的继承任何类,那么该类默认继承Java SE库中提供的java.lang.Object类 1.快捷键:Ctrl + shift + T:可以在Myeclipse中查 ...

  7. Java连载88-HashSet集合与hashCode方法重写

    一.Set集合 1.HashSet底层实际上是一个HashMap,HashMap底层采用了哈希表数据结构. 2.哈希表又称为散列表,哈希表底层是一个数组,这个数组中每一个元素是一个单向链表,每个单向链 ...

  8. java异常处理try catch finally

    1       异常 1.1      异常处理的作用 在编程时,如果出现文件打开失败,读写文件就会异常退出.如果出现内存溢出错误,程序也会异常退出.如果不能对这些异常进行处理.程序则无法正常运行.所 ...

  9. java 异常处理try+catch

    在整个异常处理机制中,异常在系统中进行传递,传递到程序员认为合适的位置,就捕获到该异常,然后进行逻辑处理,使得项目不会因为出现异常而崩溃.为了捕获异常并对异常进行处理,使用的捕获异常以及处理的语法格式 ...

随机推荐

  1. python3 之 内置函数enumerate

    python3 内置函数enumerate一.简介: 该函数在字面上是枚举.列举的意思,用于将一个可遍历的数据对象(如列表.元组或字符串)组合为一个索引序列, 同时列出数据和数据下标,一般用在 for ...

  2. ubuntu windows mutual remote control

    Win10 remote control Ubuntu18 Part1.ubuntu settings 1.安装所需组件 sudo apt-get update //若没有desktop sharin ...

  3. mysql插入的时间莫名的加一秒

    1.问题描述 我获取当天最大的时间: public static Date getEndOfDay(Date date) { LocalDateTime localDateTime = LocalDa ...

  4. 特殊权限set_uid、set_gid、stick_bit、软链接、硬链接文件 使用介绍

    第2周第4次课(3月29日) 课程内容:2.18 特殊权限set_uid2.19 特殊权限set_gid2.20 特殊权限stick_bit2.21 软链接文件2.22 硬链接文件     2.18  ...

  5. c# 窗体开发2 高级控件的使用

    1.单选按钮(RadioButton) 同一组中其他单选按钮不能同时选定 分组形式:panel GoupBox 窗体 方法: 属性 说明 Appearance RadioButton 控件的显示与命令 ...

  6. pyecharts实现星巴克门店分布可视化分析

    项目介绍 使用pyecharts对星巴克门店分布进行可视化分析: 全球门店分布/拥有星巴克门店最多的10个国家或地区: 拥有星巴克门店最多的10个城市: 门店所有权占比: 中国地区门店分布热点图. 数 ...

  7. Docker 构建私有仓库

    Docker Hub 目前Docker官方维护了一个公共仓库Docker Hub,其中已经包含了数量超过15000的镜像.大部分需求都可以通过在Docker Hub中直接下载镜像来实现. 可以在htt ...

  8. 基于vue的cropper插件编写分享

    目录 简介 实现功能 实现原理 github地址:https://github.com/yinzhida/vue-crop git clone: https://github.com/yinzhida ...

  9. 【开发者portal在线开发插件系列四】数组 及 可变长度数组

    基础篇 基础场景见上面两个帖子,这里单独说明数组和可变长度数组的用法. 话不多说,开始今天的演(表)示(演) Profile和插件开发 添加一个string类型的属性: 在插件里添加一条数据上报消息: ...

  10. 如何在Android手机上进行自动化测试(上)

    版权声明:允许转载,但转载必须保留原链接:请勿用作商业或者非法用途 前言 通过阅读本节教程,你将了解到以下内容: 如何在脚本代码中.运行脚本时指定手机 如何填写--device Android:/// ...