zoukankan      html  css  js  c++  java
  • 【异常-举例4:抛出异常】

    package com.test;
    
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    /**
     * @author shusheng
     * @description
     * @Email shusheng@yiji.com
     * @date 2018/10/10 14:44
     */
    public class ExceptionDemo4 {
        /**
         *有些时候,我们是可以对异常进行处理的,但是又有些时候,我们根本就没有权限去处理某个异常。
         *或者说,我处理不了,我就不处理了。
         *为了解决出错问题,Java针对这种情况,就提供了另一种处理方案:抛出。
         *
         *格式:
         *throws 异常类名
         *注意:这个格式必须跟在方法的括号后面。
         *注意:尽量不要在main方法上抛出异常。
         *
         *小结:
         *编译期异常抛出,将来调用者必须处理。
         *运行期异常抛出,将来调用可以不用处理。
         */
        public static void main(String[] args) {
            System.out.println("今天天气很好");
            try {
                /**方法method1()异常输出:java.text.ParseException: Unparseable date: "2014-11-20"
                 at java.text.DateFormat.parse(DateFormat.java:366)
                 at com.test.ExceptionDemo4.method1(ExceptionDemo4.java:42)
                 at com.test.ExceptionDemo4.main(ExceptionDemo4.java:31)*/
                method1();
            } catch (ParseException e) {
                e.printStackTrace();
            }
            System.out.println("但是就是不该有雾霾");
            /**方法method2()异常输出:Exception in thread "main" java.lang.ArithmeticException: / by zero
             at com.test.ExceptionDemo4.method2(ExceptionDemo4.java:51)
             at com.test.ExceptionDemo4.main(ExceptionDemo4.java:40)*/
            method2();
        }
        /**编译期异常的抛出,在方法声明上抛出,是为了告诉调用者,你注意了,我有问题。*/
        public static void method1() throws ParseException {
            String s = "2014-11-20";
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Date d = sdf.parse(s);
            System.out.println(d);
        }
        /**运行期异常的抛出*/
        public static void method2() throws ArithmeticException {
            int a = 10;
            int b = 0;
            System.out.println(a / b);
        }
    
    }
    终身学习者
  • 相关阅读:
    Advanced Developer's Blog
    图片文字识别
    Unit test resources
    SpringBoot-mvn插件
    flask中使用proto3
    QTA-qtaf自动化测试实践
    AttributeError: module 'virtualenv' has no attribute 'create_environment'
    qtaf dick 报错 NameError: name 'dict_values' is not defined
    24点python实现
    mysql在win下移植
  • 原文地址:https://www.cnblogs.com/zuixinxian/p/9766957.html
Copyright © 2011-2022 走看看