1. throw概述

在功能方法内部出现某种问题,程序不能继续运行,需要进行跳转时,就用throw把异常对象抛出。

2. 案例演示:

(1)

 package com.himi.throwdemo;

 public class ExceptionDemo2 {
public static void main(String[] args) {
method(); // try {
// method2();
// } catch (Exception e) {
// e.printStackTrace();
// }
} public static void method() {
int a = 10;
int b = 0;
if (b == 0) {
throw new ArithmeticException();
} else {
System.out.println(a / b);
}
} public static void method2() throws Exception {
int a = 10;
int b = 0;
if (b == 0) {
throw new Exception();
} else {
System.out.println(a / b);
}
} }

运行结果如下:

上面调用method方法中,由于b==0,那么就会出现如下:

throw new ArithmeticException();  就会打印下面的信息

当然也可以throw new ArithmeticException("我错了");  就会打印下面的信息

(2)

 package com.himi.throwdemo;

 public class ExceptionDemo2 {
public static void main(String[] args) {
//method();
//调用者调用method2()方法,try……catch捕获处理异常。
try {
method2();
} catch (Exception e) {
// TODO 自动生成的 catch 块
System.out.println("catch语句块处理捕获的异常");
}
} public static void method() {
int a = 10;
int b = 0;
if (b == 0) {
throw new ArithmeticException("我错了");
} else {
System.out.println(a / b);
}
} public static void method2() throws Exception {//这里method2抛出异常Exception,交给调用者处理
int a = 10;
int b = 0;
if (b == 0) {
throw new Exception();//这里是抛出是new Exception(异常的超类),它是编译时期异常,必须处理(上抛)
} else {
System.out.println(a / b);
}
} }

运行程序,效果如下:

3.throws和throw的区别(面试题)

    throws(异常抛出,不处理)

                    用在方法声明后面,跟的是异常类名

                    可以跟多个异常类名,用逗号隔开

                    表示抛出异常,由该方法的调用者来处理

                    throws表示出现异常的一种可能性,并不一定会发生这些异常

     throw(异常处理,打印信息)

                    用在方法体内,跟的是异常对象名

                    只能抛出一个异常对象名

                    表示抛出异常,由方法体内的语句处理

                    throw则是抛出了异常,执行throw则一定抛出了某种异常

Java基础知识强化之IO流笔记04:throw和throws的区别的更多相关文章

  1. Java基础知识强化之IO流笔记17:FileOutputStream构造方法使用

    1. 可以参照之前写的笔记:   Android(java)学习笔记167:Java中操作文件的类介绍(File + IO流) 2. FileOutputStream(常用的)构造方法: FileOu ...

  2. Java基础知识强化之IO流笔记71:NIO之 NIO的(New IO流)介绍

    1. I/O 简介 I/O ( 输入/输出  ):指的是计算机与外部世界或者一个程序与计算机的其余部分的之间的接口.它对于任何计算机系统都非常关键,因而所有 I/O 的主体实际上是内置在操作系统中的. ...

  3. Java基础知识强化之IO流笔记68:Properties和IO流集合使用

    1. Properties和IO流集合使用 这里的集合必须是Properties集合:  public void load(Reader reader):把文件中的数据读取到集合中  public v ...

  4. Java基础知识强化之IO流笔记66:Properties的概述 和 使用(作为Map集合使用)

    1. Properties的概述  Properties:属性集合类.是一个可以和IO流相结合使用的集合类. 该类主要用于读取以项目的配置文件(以.properties结尾的文件 和 xml文件). ...

  5. Java基础知识强化之IO流笔记22:FileInputStream / FileOutputStream 复制文本文件案例1

    1. 使用字节流FileInputStream / FileOutputStream 复制文本文件案例: 分析: (1)数据源:从哪里来 a.txt   --   读取数据  --  FileInpu ...

  6. Java基础知识强化之IO流笔记16:IO流的概述和分类

    1. IO流的分类   流向:     (1)输入流:读取数据到内存     (2)输出流:写入数据到硬盘(磁盘)   操作的数据类型:    (1)字节流:操作的数据是字节             ...

  7. Java基础知识强化之IO流笔记01:异常的概述和分类

     IO流操作的时候会出现很多问题,java中叫作异常,所以我们先介绍一下异常: 1. 程序的异常:Throwable(Throwable类是java中所有异常或错误的超类) (1)严重问题:Error ...

  8. Java基础知识强化之IO流笔记42:IO流总结(图解)

    1. IO流总结(图解)

  9. Java基础知识强化之IO流笔记83:NIO与IO

    当学习了Java NIO和IO的API后,一个问题马上涌入脑海: 我应该何时使用IO,何时使用NIO呢?在本文中,我会尽量清晰地解析Java NIO和IO的差异.它们的使用场景,以及它们如何影响您的代 ...

随机推荐

  1. PHP表单提交验证各种方式

    <!DOCTYPE unspecified PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www. ...

  2. 几种常见ECG数据格式及对比

    SCP.DICOM.HL7aECG.GDF格式及对比 本文档首先给出SCP.DICOM.HL7aECG.GDF四种心电信号格式的具体数据结构,然后分析其各自的特点及适用范围. 一.SCP-ECG fo ...

  3. js 实现win7任务栏拖动效果

    前言 在某个时刻, 我认识了一个朋友. 此人在我的教唆下, 踏上了js的不归路. 前天他问我, Win7任务栏拖动效果怎么实现. 我随口就跟他说, 这简单的一逼. 在我一晚上的折腾之后, 一份潦草的代 ...

  4. 你好,C++(35)类是如何藏私房钱的?6.2.4 拷贝构造函数

    6.2.6  类成员的访问控制 类成员包括类的成员变量和成员函数,它们分别用来描述类的属性和行为.而类成员的访问控制决定了哪些成员是公开的,可以被外界访问,也可以被自身访问:哪些成员是私有的,只能在类 ...

  5. 【COGS1672】难存的情缘

    [题目描述] 一天机房的夜晚,无数人在MC里奋斗着... 大家都知道矿产对于MC来说是多么的重要,但由于矿越挖越少,勇士们不得不跑到更远的地方挖矿,但这样路途上就会花费相当大的时间,导致挖矿效率底下. ...

  6. 【USACO 1.5.1】数字金字塔

    [题目描述] 观察下面的数字金字塔. 写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大.每一步可以走到左下方的点也可以到达右下方的点. 7 3 8 8 1 0 2 7 4 4 4 ...

  7. 50个jQuery代码段帮你成为更好的JavaScript开发者

    1. 如何创建嵌套的过滤器: 允许你减少集合中的匹配元素的过滤器,只剩下那些与给定的选择器匹配的部分.在这种情况下,查询删除了任何没(:not)有(:has)包含class为“selected”(.s ...

  8. C# FTP操作

    using System; using System.Collections.Generic; using System.Net; using System.IO; namespace FTP操作 { ...

  9. AutoMapper DynamicMap天坑

    如果调用Mapper.DynamicMap该方法,会将所有映射重置为默认映射,即以字段名匹配映射.

  10. 利用Php ssh2扩展实现svn自动提交到测试服务器

    1.安装ssh2扩展 (1)window . 下载 php extension ssh2 下载地址 http://windows.php.net/downloads/pecl/releases/ssh ...