Java 异常处理(2) : 异常处理的方式二:throws + 异常类型
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 + 异常类型的更多相关文章
- 异常处理的方式二:throws+异常类型
package com.yhqtv.demo01Exception; import java.io.File; import java.io.FileInputStream; import java. ...
- 七 异常处理的两种方式(创建全局异常处理器&自定义异常)
1 创建全局异常处理器 实现HandlerExceptionResolve接口 package com.springmvc01; import javax.servlet.http.HttpServl ...
- 创建Java多线程的两种方式和线程异常
一.使用多线程的两种方法 使用多线程的两种方法有:继承Thread类和实现runable接口. 二.继承Thread类 来看一下thread类的源代码: class Thread implement ...
- 124、Java面向对象之引用传递实例二,String类型按值传递
01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...
- throws关键字_异常处理的第一种方式(交给别人处理)和try_catch_异常处理的第二种方式(自己处理)
throws关键字:异常处理的第一种方式,交给别人处理 作用: 当方法内部抛出异常对象的时候,那么我们就必须处理这个异常对象 可以使用throws关键字处理异常对象, 会把异常对象声明抛出给方法的调用 ...
- 关于Java中的异常处理(详细)
Error:Java虚拟机无法解决的严重问题.如:JVM系统内部错误.资源耗尽等严重情况.比如:StackOverflowError和OOM.一般不编写针对性的代码进行处理 Exception:其它因 ...
- 一天一个Java基础——通过异常处理错误
<Thinking in Java>上对这章的讲解不少,可见重要性,学习和总结一些主要的记录下来. 一.创建自定义异常 package Exception; class SimpleExc ...
- Java 中的异常处理机制
生活中的异常: 不能够完整而顺利的完成一些工作 根据不同的异常进行相应的处理,而不会就此终端我们的生活 引出: 异常处理: 方式: 1.选择结构(逻辑判断)避免 demo:if逻辑处理异常 im ...
- 【Java基础】异常处理
异常处理 异常概述 在 Java 语言中,将程序执行中发生的不正常情况称为"异常",但是开发过程中的语法错误和逻辑错误不是异常. 在执行过程中所发生的异常事件可分为两类: Erro ...
- java 面向对象(二十九):异常(二)异常的处理
1.java异常处理的抓抛模型过程一:"抛":程序在正常执行的过程中,一旦出现异常,就会在异常代码处生成一个对应异常类的对象. * 并将此对象抛出. * 一旦抛出对象以后,其后的代 ...
随机推荐
- 【七】强化学习之Policy Gradient---PaddlePaddlle【PARL】框架{飞桨}
相关文章: [一]飞桨paddle[GPU.CPU]安装以及环境配置+python入门教学 [二]-Parl基础命令 [三]-Notebook.&pdb.ipdb 调试 [四]-强化学习入门简 ...
- C/C++ 动态解密释放ShellCode
今天在复习<加密与解密>时,在软件保护这一章中有一个代码与数据结合的案例,其原理是将代码段中的代码进行xor异或加密处理以后回写到原始位置,当程序运行后将此处的内容动态的进行解密,解密后回 ...
- Java注解之获取注解内部数据的原因分析
我们都知道从JDK1.5开始,注解开始被支持使用,当我们在使用注解的时候感觉比配置文件用起来更加简便和清爽.配置文件是通过解析配置文件的内容获取到数据,那么为什么仅仅在类.方法或者属性上添加注解被注解 ...
- MongoDB 7.0 搭建 Sharding 副本集群
本文是在ubuntu 22.03 系统版本上部署的,最低支持mongodb-6.0.4以上,所以这里安装mongodb7.0 1 安装mongo 安装方式有多种,本人是使用的第一种方式,时间也就20分 ...
- 【OpenCV】基于cv2的图像阈值化处理【超详细的注释和解释】掌握基本操作
说在前面的话 博主今天给大家带来人工智能的一个重要领域的入门操作,opencv包的使用和基本操作,希望大家可以从中学到一些东西! 前言 那么这里博主先安利一下一些干货满满的专栏啦! 手撕数据结构htt ...
- 【Matlab】蒙特卡罗法模拟圆周率+对应解析的GIF生成【超详细的注释和解释】
文章目录 前言 模拟思路 GIF模拟动图的生成 GIF动图生成的基本思路 单张静态图的生成 GIF的生成 尾声 前言 因为博主最近要准备数学建模大赛了,在学习matlab和python之余,博主也会继 ...
- Exadata刷机快速参考
本文以Exadata X8 HC 1/4 rack为例,介绍整个Exadata刷机的步骤. 我理解刷机最关键的就两大步骤:第一步是所有机器刷OS,第二步是使用OEDA一键刷机.至于其它所有工作都是在为 ...
- Kafka-基本介绍和常见问题
1.kafka 1.1.kafka介绍 kafka是最初由linkedin公司开发的,使用scala语言编写,kafka是一个分布式,分区的,多副本的,多订阅者的消息队列系统. 1.2.kafka ...
- Pandas—to_csv()写入函数参数详解
1. to_csv函数的参数 DataFrame.to_csv(path_or_buf=None, sep=',', na_rep='', float_format=None, columns=Non ...
- 跨界协作:借助gRPC实现Python数据分析能力的共享
gRPC是一个高性能.开源.通用的远程过程调用(RPC)框架,由Google推出.它基于HTTP/2协议标准设计开发,默认采用Protocol Buffers数据序列化协议,支持多种开发语言. 在gR ...