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

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. JS的DOM操作语法

    整理了一下JS的DOM操作语法,这里做下记录. <!DOCTYPE html> <html> <head> <meta charset="utf-8 ...

  2. 关于HashMap容量的初始化,还有这么多学问。

    在<HashMap中傻傻分不清楚的那些概念>文章中,我们介绍了HashMap中和容量相关的几个概念,简单介绍了一下HashMap的扩容机制. 文中我们提到,默认情况下HashMap的容量是 ...

  3. 盒模型 | CSS权重 | CSS层叠

    span{ color:red;} *{ font-family:"楷体";line-height:2em; font-size:18px;} 盒模型 CSS定义所有的元素都可能拥 ...

  4. 《手把手教你》系列练习篇之6-python+ selenium自动化测试(详细教程)

    1. 简介 前面文章我们了解了如何获取元素的text属性值,和判断元素是否显示在页面(is_displayed()方法),本文我们来学习下,判断一个控件是否被选中状态. 2. 验证控件是否被选中 还是 ...

  5. redis - redis数据结构与API

    通用命令 keys:遍历所有的key[keys一般不再生产环境使用],时间复杂度O(n) keys * keys he* keys he[h-l]* keys ph? dbsize:计算key的总数, ...

  6. 生活小插曲(长篇连载,持续更新ing)^_^

    这个帖子,长期记录一些小小的生活插曲 在北京朋友开店了-关于同学开快餐店的故事.今天下午听说这个朋友在附近开了一个店,下午5点多吧,出门去他那里去了.走路过去的.在那里聊了将近一个小时吧.对最近我们自 ...

  7. ThreadLocal快速了解一下

    欢迎点赞阅读,一同学习交流,有疑问请留言 . GitHub上也有开源 JavaHouse 欢迎star 1 引入 在Java8里面,ThreadLocal 是一个泛型类.这个类可以提供线程变量.每个线 ...

  8. Spring Securtiy 认证流程(源码分析)

    当用 Spring Security 框架进行认证时,你可能会遇到这样的问题: 你输入的用户名或密码不管是空还是错误,它的错误信息都是 Bad credentials. 那么如果你想根据不同的情况给出 ...

  9. 大型情感剧集Selenium:3_元素定位 #华为云·寻找黑马程序员#

    关于昨天的文章 今天有朋友反馈,代码运行的时候,selenium提示警告 DeprecationWarning: use options instead of chrome_options drive ...

  10. .Net Core的API网关Ocelot使用 (一)

    1.什么是API网关 API网关是微服务架构中的唯一入口,它提供一个单独且统一的API入口用于访问内部一个或多个API.它可以具有身份验证,监控,负载均衡,缓存,请求分片与管理,静态响应处理等.API ...