• 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 }

    运行结果如下:

  • 相关阅读:
    SQLite在php中的接口
    Smarty3——内置函数
    Smarty3——foreach
    Smarty3——复合变量修饰器输
    Smarty3——从配置文件获取的变量
    Smarty3——变量修饰器
    Git命令
    容器云----docker-registry+docker-registry-web(镜像仓库+镜像仓库管理界面)
    容器云----kubernetes-dashboard(kubernetes管理界面)
    容器云----kubernetes+docker-ce
  • 原文地址:https://www.cnblogs.com/hebao0514/p/4844256.html
Copyright © 2020-2023  润新知