1 package com.bytezero.throwable;
2
3 import java.io.File;
4 import java.io.FileInputStream;
5 import java.io.FileNotFoundException;
6 import java.io.IOException;
7
8 /**
9 *
10 * @Description 异常处理的方式二:throws + 异常类型
11 * @author Bytezero·zhenglei! Email:420498246@qq.com
12 * @version
13 * @date 下午2:28:09
14 * @ 1.throws + 异常类型 写在方法的声明处,指明此方法执行时,可能会抛出的
15 * 异常类型,一旦当方法体执行时,出现异常,仍会在异常代码处生成一个异常类的对
16 * 象.此对象满足 throws后异常类型时,就会被抛出。异常代码后续的代码,就不再执行!!
17 *
18 * 2.体会:try-catch-finally:真正的将异常给处理了
19 * throws的方式只是将异常抛给了方法的调用者。并没有真正将异常处理掉
20 *
21 * 3.开发中如何选择使用try-catch-finally 还是使用throws?
22 * 3.1 如果父类中被重写的方法 没有 throws方式处理异常,则子类重写的方法,也不能
23 * 使用throws,意味着如果子类重写的方法中有异常,必须使用 try-catch-finally 的
24 * 方式处理。
25 * 3.2 执行的方法中,先后又调用了另外的几个方法,这几个方法时递进的关系执行的,我们
26 * 建议这几个方法使用 throws的方式进行处理,而执行的方法a 可以考虑使用 try-catch-finally
27 * 方式进行处理。
28 *
29 *
30 *
31 *
32 */
33 public class ExceptionTest3 {
34
35 public static void main(String[] args) {
36 try {
37 method2();
38
39 }catch(FileNotFoundException e) {
40 e.printStackTrace();
41 }catch(IOException e) {
42 e.printStackTrace();
43 }
44
45 //method3();
46
47 }
48
49 public static void method3() {
50 try {
51
52 method2();
53 }catch(IOException e) {
54 e.printStackTrace();
55 }
56
57 }
58
59 public static void method2() throws FileNotFoundException,IOException {
60
61 method1();
62 }
63
64
65 public static void method1() throws FileNotFoundException,IOException {
66
67
68 File file = new File("hello.txt");
69 FileInputStream fis = new FileInputStream(file);
70
71 int data = fis.read();
72 while(data != -1) {
73 System.out.println((char)data);
74 data = fis.read();
75
76 }
77 fis.close();
78
79 }
80 }

Java 异常处理(2) : 异常处理的方式二:throws + 异常类型的更多相关文章

  1. 异常处理的方式二:throws+异常类型

    package com.yhqtv.demo01Exception; import java.io.File; import java.io.FileInputStream; import java. ...

  2. 七 异常处理的两种方式(创建全局异常处理器&自定义异常)

    1 创建全局异常处理器 实现HandlerExceptionResolve接口 package com.springmvc01; import javax.servlet.http.HttpServl ...

  3. 创建Java多线程的两种方式和线程异常

    一.使用多线程的两种方法  使用多线程的两种方法有:继承Thread类和实现runable接口. 二.继承Thread类 来看一下thread类的源代码: class Thread implement ...

  4. 124、Java面向对象之引用传递实例二,String类型按值传递

    01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...

  5. throws关键字_异常处理的第一种方式(交给别人处理)和try_catch_异常处理的第二种方式(自己处理)

    throws关键字:异常处理的第一种方式,交给别人处理 作用: 当方法内部抛出异常对象的时候,那么我们就必须处理这个异常对象 可以使用throws关键字处理异常对象, 会把异常对象声明抛出给方法的调用 ...

  6. 关于Java中的异常处理(详细)

    Error:Java虚拟机无法解决的严重问题.如:JVM系统内部错误.资源耗尽等严重情况.比如:StackOverflowError和OOM.一般不编写针对性的代码进行处理 Exception:其它因 ...

  7. 一天一个Java基础——通过异常处理错误

    <Thinking in Java>上对这章的讲解不少,可见重要性,学习和总结一些主要的记录下来. 一.创建自定义异常 package Exception; class SimpleExc ...

  8. Java 中的异常处理机制

    生活中的异常:  不能够完整而顺利的完成一些工作 根据不同的异常进行相应的处理,而不会就此终端我们的生活 引出:  异常处理: 方式:  1.选择结构(逻辑判断)避免 demo:if逻辑处理异常 im ...

  9. 【Java基础】异常处理

    异常处理 异常概述 在 Java 语言中,将程序执行中发生的不正常情况称为"异常",但是开发过程中的语法错误和逻辑错误不是异常. 在执行过程中所发生的异常事件可分为两类: Erro ...

  10. java 面向对象(二十九):异常(二)异常的处理

    1.java异常处理的抓抛模型过程一:"抛":程序在正常执行的过程中,一旦出现异常,就会在异常代码处生成一个对应异常类的对象. * 并将此对象抛出. * 一旦抛出对象以后,其后的代 ...

随机推荐

  1. 基于.net Core+EF Core项目的搭建(一)

    在我们要使用EF的项目中引用两个包Microsoft.EntityFrameworkCore.SqlServer和Microsoft.EntityFrameworkCore.Tools 我把要使用的E ...

  2. 全网最详细超长python学习笔记、14章节知识点很全面十分详细,快速入门,只用看这一篇你就学会了!

    相关文章: 全网最详细超长python学习笔记.14章节知识点很全面十分详细,快速入门,只用看这一篇你就学会了! [1]windows系统如何安装后缀是whl的python库 [2]超级详细Pytho ...

  3. 1.1 C++ STL 字符串构造函数

    String 字符串操作容器是C++标准中实现的重要容器,其主要用于对字符串的高效处理,它和C风格中的string.h并不是同一个库,两个库有极大的差距,C库中的string.h主要面向过程提供一些处 ...

  4. JS数字转为带有逗号的字符串

    alert(formatNum(10000000.87)); /** * @param n 输入数字 * @param is_int 是否只显示整数 * @returns {string} */ fu ...

  5. CF940F Machine Learning题解

    题目链接:洛谷 或者 CF 不是特别难的题,抽象下题意就是算区间次数出现的次数 mex 和带单点修改.看到范围 \(1e5\) 还带修改,传统的 mex 求法里貌似就莫队类算法好带修,考虑带修莫队. ...

  6. 素数打表,洛谷P1217 [USACO1.5]回文质数 Prime Palindromes

    这道题的最后一个样例TLE(超时)了,判断素数的条件是 i*i<n 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include ...

  7. java的char类型,只有两个字节,为什么可以存储汉字?java中 char详解

    我自己出了一道面试题,如下: public static void main(String[] args) { char a = '9'; char b = 9; char c = '我'; Syst ...

  8. Net5 WorkService 继承 Quarzt 以及 Net5处理文件上传

    Net5 版本以Core为底层非framework框架的windowservice 服务. 在VS里叫WorkService 可以以CMD方式运行也可以以Windowservice方式运行,部署简单. ...

  9. 动态获取input内容文本(排除候选拼音文本) - js事件

    要想通过事件实时获取文本框文本,一开始是想到下面的方法,但实际效果都存在一定的缺点. 通过change/blur事件获取 change事件只有在选中点击或者失焦的时候,才能够触发. blur事件则是只 ...

  10. CentOS7环境源码安装freeswitch1.10.7

    操作系统 :CentOS 7.6_x64 freeswitch版本 :1.10.7 一.安装步骤 1.下载freeswitch源代码 wget http://files.freeswitch.org/ ...