首页 > Java基础知识强化之IO流笔记03:throws的方式处理异常

Java基础知识强化之IO流笔记03:throws的方式处理异常

1. 什么时候使用throws ?

(1)定义功能方法时候,需要把出现的问题暴露出来,让调用者去处理。那么就通过throws在方法上标识。

(2)有时候,我们是可以对异常进行处理的,但是又有些时候,我们根本就没有权限去处理某个异常。或者说我们处理不了,我就不处理了。为了解决这个出错问题,java针对这种问题,就提供了另一种处理方案:throws 抛出(交给调用者处理

 

注意:尽量不要在main方法上面抛出异常。

2. 格式:

throws  异常类名

注意:这个格式必须跟在方法的括号后面

 

3. 案例:

(1)

(2)调用者处理这个异常,可以再往上级抛,如下:

 

(3)运行(2)中代码,如下:

 

根据上面的运行结果,可知:

只运行了第一行语句的:System.out.println("我饿了");

然后jvm虚拟机卡死在第二行语句:method();

因为这里jvm发现这个调用的method()方法是有问题的

(4)很明显上面的处理方法欠佳,如下改进,在main方法中处理method方法异常,如下:

 1 package com.himi.throwdemo;
 2 
 3 import java.text.ParseException;
 4 import java.text.SimpleDateFormat;
 5 import java.util.Date;
 6 
 7 public class ExceptionDemo {
 8 
 9     public static void main(String[] args) {
10         System.out.println("我饿了");
11              try {
12                 method();
13             } catch (ParseException e) {
14                 // TODO 自动生成的 catch 块
15                 e.printStackTrace();//系统默认打印出错的信息
16             }
17         System.out.println("我和大家好好的");
18 
19     }
20 
21     //方法声明中抛出,是为了告诉调用者,你注意了,我有问题。
22     private static void method() throws ParseException {
23         String s = "2015-09-28";
24         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
25         Date d = sdf.parse(s);
26         System.out.println(d);
27     }
28 
29 }

运行结果如下:

转载于:https://www.cnblogs.com/hebao0514/p/4844256.html

更多相关:

  • 来源:公众号|计算机视觉工坊(系投稿)作者:仲夏夜之星「3D视觉工坊」技术交流群已经成立,目前大约有12000人,方向主要涉及3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、...

  • 点云PCL免费知识星球,点云论文速读。文章:Real-Time LIDAR-Based Urban Road and Sidewalk Detection for Autonomous Vehicles作者:Ern˝o Horváth  , Claudiu Pozna ,and Miklós Unger编译:点云PCL代码:http...

  • 文章:Semantic Histogram Based Graph Matching for Real-Time Multi-Robot Global Localization in Large Scale Environment作者:Xiyue Guo, Junjie Hu, Junfeng Chen, Fuqin Deng, T...

  • 点云PCL免费知识星球,点云论文速读。文章:Robust Place Recognition using an Imaging Lidar作者:Tixiao Shan, Brendan Englot, Fabio Duarte, Carlo Ratti, and Daniela Rus编译:点云PCL(ICRA 2021)开源代码:...

  • 文章:A Survey of Calibration Methods for Optical See-Through Head-Mounted Displays作者:Jens Grubert , Yuta Itoh, Kenneth Moser编译:点云PCL本文仅做学术分享,如有侵权,请联系删除。欢迎各位加入免费知识星球,获取PD...

  • 对ARM异常(Exceptions)的理解 1 .对 ARM 异常( Exceptions )的理解 所有的系统引导程序前面中会有一段类似的代码,如下: .globl _start                    ;系统复位位置 _start: b       reset            ;各...

  • org.apache.shiro.authc.pam.UnsupportedTokenException org.apache.shiro.authc.UnknownAccountExce...

  • 什么是异常处理 异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止),在python中,错误触发的异常如下 语法错误: 这种错误根本就过不了python解释器的语法检测,必须在程序执行前就改正逻辑错误:#TypeError:int类型不可迭代 for i in...

  • Ø  前言 本文主要记录 Android 的常见异常及解决办法,以备以后遇到相同问题时可以快速解决。   1.   java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.la...

  • Python之路【第五篇】:面向对象及相关 Python之路【第五篇】:面向对象及相关 面向对象基础 基础内容介绍详见一下两篇博文: 面向对象初级篇面向对象进阶篇其他相关 一、isinstance(obj, cls)  检查是否obj是否是类 cls 的对象 1 2 3 4 5 6 class Foo(o...