醴陵企业微信公众号小程序开发公司、醴陵企业网页设计方案、醴陵做网站开发价格、醴陵微信公众号制作运营报价明细表、醴陵网站设计公司费用、醴陵网站推广大概需要多少钱-网站优化-网站建设【企业网站制作|网页设计】- 高端网站建设 - 书生商友信息科技-

全国热线:400-111-6878

网站建设推广专家

醴陵企业微信公众号小程序开发公司、醴陵企业网页设计方案、醴陵做网站开发价格、醴陵微信公众号制作运营报价明细表、醴陵网站设计公司费用、醴陵网站推广大概需要多少钱

发表日期: 2021-03-26 12:40:26 浏览次数:135

醴陵企业微信公众号小程序开发公司、醴陵企业网页设计方案、醴陵做网站开发价格、醴陵微信公众号制作运营报价明细表、醴陵网站设计公司费用、醴陵网站推广大概需要多少钱

醴陵市,为湖南省辖县级市,由株洲市代管,地处湖南省东部,总面积2156.46平方千米,醴陵市东邻江西省萍乡市湘东区、上栗县,北接浏阳市,西倚株洲市芦淞区、渌口区,南界攸县。截至2018年末,醴陵市辖19镇、4街道办事处、1个经济开发区、1个示范区,户籍人口105.3万。

醴陵市拥有渌江书院、宋名臣祠、醴泉古井、状元芳洲、文笔奇峰、云岩寺等名胜古迹。醴陵市境内浙赣复线横贯东西,醴(陵)茶(陵)线连通南北,距株洲站仅40千米,沪昆高铁、沪昆高速、106国道、320国道纵横交错,市区距长沙黄花国际机场90千米。 [1] 

2019年,醴陵市实现地区生产总值716.4亿元,实现财政总收入72.92亿元。 [2]  2020年度真抓实干成效明显,2021年1月29日被湖南省人民政府公布为推动高质量发展成效明显的县市区,给予100万元标准奖励。


14.4.2 自动资源管理

14.4.1节使用finally代码块释放资源会导致程序代码大量增加,一个finally代码块往往比正常执行的程序还要多。在Java 7之后提供自动资源管理(Automatic Resource Management)技术,可以替代finally代码块,优化代码结构,提高程序可读性。

自动资源管理是在try语句上的扩展,语法如下:

try (声明或初始化资源语句) {
    //可能会生成异常语句} catch(Throwable e1){
    //处理异常e1} catch(Throwable e2){
    //处理异常e1} catch(Throwable eN){
    //处理异常eN}复制代码

在try语句后面添加一对小括号“()”,其中是声明或初始化资源语句,可以有多条语句语句之间用分号“;”分隔。

示例代码如下:

//HelloWorld.java文件package com.a51work6;… …public class HelloWorld {

    public static void main(String[] args) {
        Date date = readDate();
        System.out.println("读取的日期  = " + date);
    }

    public static Date readDate() {

        // 自动资源管理
        try (FileInputStream readfile = new FileInputStream("readme.txt");     ①
                InputStreamReader ir = new InputStreamReader(readfile);        ②
                BufferedReader in = new BufferedReader(ir)) {                  ③

            // 读取文件中的一行数据
            String str = in.readLine();
            if (str == null) {
                return null;
            }

            DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
            Date date = df.parse(str);
            return date;

        } catch (FileNotFoundException e) {
            System.out.println("处理FileNotFoundException...");
            e.printStackTrace();
        } catch (IOException e) {
            System.out.println("处理IOException...");
            e.printStackTrace();
        } catch (ParseException e) {
            System.out.println("处理ParseException...");
            e.printStackTrace();
        }

        return null;
    }}复制代码

上述代码第①行~第③行是声明或初始化三个输入流,三条语句放到在try语句后面小括号中,语句之间用分号“;”分隔,这就是自动资源管理技术了,采用了自动资源管理后不再需要finally代码块,不需要自己close这些资源,释放过程交给了JVM。

注意 所有可以自动管理的资源需要实现AutoCloseable接口,上述代码中三个输入流FileInputStream、InputStreamReader和BufferedReader从Java 7之后实现AutoCloseable接口,具体哪些资源实现AutoCloseable接口需要查询API文档。

14.5 throws与声明方法抛出异常

在一个方法中如果能够处理异常,则需要捕获并处理。但是本方法没有能力处理该异常,捕获它没有任何意义,则需要在方法后面声明抛出该异常,通知上层调用者该方法有可以发生异常。

方法后面声明抛出使用throws关键字,回顾一下10.3.3节成员方法语法格式如下:

     class className {

             [public | protected | private ] [static] [final | abstract] [native] [synchronized]
                     type methodName([paramList]) [throws exceptionList] {
                         //方法体
            }
     }复制代码

其中参数列表之后的[throws exceptionList]语句是声明抛出异常。方法中可能抛出的异常(除了Error和RuntimeException及其子类外)都必须通过throws语句列出,多个异常之间采用逗号(,)分隔。

注意 如果声明抛出的多个异常类之间有父子关系,可以只声明抛出父类。但如果没有父子关系情况下,最好明确声明抛出每一个异常,因为上层调用者会根据这些异常信息进行相应的处理。假如一个方法中有可能抛出IOException和ParseException两个异常,那么声明抛出IOException和ParseException呢?还是只声明抛出Exception呢?因为Exception是IOException和ParseException的父类,只声明抛出Exception从语法是允许的,但是声明抛出IOException和ParseException更好一些。

如果将14.3节示例进行修改,在readDate()方法后声明抛出异常,代码如下:

     //HelloWorld.java文件
     package com.a51work6;

     … …
     public class HelloWorld {

         public static void main(String[] args) {            ①

             try {
                 Date date = readDate();                     ②
                 System.out.println("读取的日期  = " + date);
             } catch (IOException e) {                       ③
                 System.out.println("处理IOException...");
                 e.printStackTrace();
             } catch (ParseException e) {                    ④
                 System.out.println("处理ParseException...");
                 e.printStackTrace();
             }

         }

         public static Date readDate() throws IOException, ParseException {    ⑤

             // 自动资源管理
             FileInputStream readfile = new FileInputStream("readme.txt");     ⑥
             InputStreamReader ir = new InputStreamReader(readfile);
             BufferedReader in = new BufferedReader(ir);

             // 读取文件中的一行数据
             String str = in.readLine();                            ⑦
             if (str == null) {
                 return null;
             }

             DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
             Date date = df.parse(str);                             ⑧
             return date;
         }

     }复制代码

由于readDate()方法中代码第⑥、⑦、⑧行都有可能引发异常。在readDate()方法内又没有捕获处理,所有需要在代码第⑤行方法后声明抛出异常,事实上有三个异常FileNotFoundException、IOException和ParseException,由于FileNotFoundException属于IOException异常,所以只声明IOException和ParseException就可以了。

一旦readDate()方法声明抛出了异常,那么它的调用者main()方法,也会面临同样的问题:要么捕获自己处理,要么抛出给上层调用者。如果一旦发生异常main()方法也选择抛出那么程序运行就会终止。本例中main()方法是捕获异常进行处理,捕获异常过程前面已经介绍过了,这里不再赘述。

c51c866ffa1ab3457f2021e8bbdbcc1.jpg

醴陵企业微信公众号小程序开发公司醴陵企业网页设计方案醴陵做网站开发价格、醴陵微信公众号制作运营报价明细表、醴陵网站设计公司费用、醴陵网站推广大概需要多少钱

上一条:醴陵小程序制作【醴陵企业邮箱】醴陵网站外包、醴陵微信商城开发、醴陵网店美工、醴陵淘宝设计
下一条:醴陵网络公司哪家好【醴陵企业网站百度SEO推广公司】醴陵做网站开发价格、醴陵淘宝店铺开店装修设计运营、公司网站制作方案流程改版维护费用、醴陵高端企业网站页面制作设计专业公司需要多少钱
网站制作
小程序制作
网站优化
网站开发
400电话办理
网络推广
网站建设
网店装修
微信公众号开发
网页设计
网络公司
域名企业邮箱
服务器空间
网站案例报价
百科问答
编辑排版美工
App软件开发
百度推广
代运营托管
logo设计
网络全网营销
网站备案
网站定制
小程序开发公司
首页
电话
立即预约