醴陵网站优化【醴陵开通400电话】醴陵网站搭建、醴陵微信公众号推文外包、醴陵开通京东拼多多设计、醴陵淘宝装修-网站优化-网站建设【企业网站制作|网页设计】- 高端网站建设 - 书生商友信息科技-

全国热线:400-111-6878

网站建设推广专家

醴陵网站优化【醴陵开通400电话】醴陵网站搭建、醴陵微信公众号推文外包、醴陵开通京东拼多多设计、醴陵淘宝装修

发表日期: 2021-03-26 12:38:07 浏览次数:126

醴陵网站优化【醴陵开通400电话】醴陵网站搭建、醴陵微信公众号推文外包、醴陵开通京东拼多多设计、醴陵淘宝装修

醴陵市,为湖南省辖县级市,由株洲市代管,地处湖南省东部,总面积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.3.1 try-catch语句

捕获异常是通过try-catch语句实现的,最基本try-catch语句语法如下:

try{
    //可能会发生异常的语句} catch(Throwable e){
    //处理异常e}复制代码
  1. try代码块

    try代码块中应该包含执行过程中可能会发生异常的语句。一条语句是否有可能发生异常,这要看语句中调用的方法。例如日期格式化类DateFormat的日期解析方法parse(),该方法的完整定义如下:

    public Date parse(String source) throws ParseException复制代码

    方法后面的throws ParseException说明:当调用parse()方法时有可以能产生ParseException异常。

    提示 静态方法、实例方法和构造方法都可以声明抛出异常,凡是抛出异常的方法都可以通过try-catch进行捕获,当然运行时异常可以不捕获。一个方法声明抛出什么样的异常需要查询API文档。

  2. catch代码块

    每个try代码块可以伴随一个或多个catch代码块,用于处理try代码块中所可能发生的多种异常。catch(Throwable e)语句中的e是捕获异常对象,e必须是Throwable的子类,异常对象e的作用域在该catch代码块中。

    下面看看一个try-catch示例:

    //HelloWorld.java文件package com.a51work6; import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date; public class HelloWorld {     public static void main(String[] args) {
            Date date = readDate();
            System.out.println("日期  = " + date);
        }     // 解析日期
        public static Date readDate() {                   ①         try {
                String str = "2018-8-18";     //"201A-18-18"
                DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
                // 从字符串中解析日期
                Date date = df.parse(str);                ②
                return date;
            } catch (ParseException e) {                  ③
                System.out.println("处理ParseException…");
                e.printStackTrace();                      ④
            }
            return null;
        }}复制代码

    上述代码第①行定义了一个静态方法用来将字符串解析成日期,但并非所有的字符串都是有效的日期字符串,因此调用代码第②行的解析方法parse()有可能发生ParseException异常,ParseException是受检查异常,在本例中使用try-catch捕获。代码第③行的e就是ParseException对象。代码第④行e.printStackTrace()是打印异常堆栈跟踪信息,本例中的"2018-8-18"字符串是有个有效的日期字符串,因此不会发生异常。如果将字符串改为无效的日期字符串,如"201A-18-18",则会打印信息。

    处理ParseExceptionjava.text.ParseException: Unparseable date: "201A-18-18"日期  = null
        at java.text.DateFormat.parse(Unknown Source)
        at com.a51work6.HelloWorld.readDate(HelloWorld.java:24)
        at com.a51work6.HelloWorld.main(HelloWorld.java:13)复制代码

    提示 在捕获到异常之后,通过e.printStackTrace()语句打印异常堆栈跟踪信息,往往只是用于调试,给程序员提示信息。堆栈跟踪信息对最终用户是没有意义的,本例中如果出现异常很有可能是用户输入的日期无效,捕获到异常之后给用户弹出一个对话框,提示用户输入日期无效,请用户重新输入,用户重新输入后再重新调用上述方法。这才是捕获异常之后的正确处理方案。

14.3.2 多catch代码块

如果try代码块中有很多语句会发生异常,而且发生的异常种类又很多。那么可以在try后面跟有多个catch代码块。多catch代码块语法如下:

try{
    //可能会发生异常的语句} catch(Throwable e){
    //处理异常e} catch(Throwable e){
    //处理异常e} catch(Throwable e){
    //处理异常e}复制代码

在多个catch代码情况下,当一个catch代码块捕获到一个异常时,其他的catch代码块就不再进行匹配。

注意 当捕获的多个异常类之间存在父子关系时,捕获异常顺序与catch代码块的顺序有关。一般先捕获子类,后捕获父类,否则子类捕获不到。

示例代码如下:

//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() {

        FileInputStream readfile = null;
        InputStreamReader ir = null;
        BufferedReader in = null;
        try {
            readfile = new FileInputStream("readme.txt");      ①
            ir = new InputStreamReader(readfile);
            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;
    }}复制代码

上述代码通过Java I/O(输入输出)流技术从文件readme.txt中读取字符串,然后解析成为日期。由于Java I/O技术还没有介绍,读者先不要关注I/O技术细节,这考虑调用它们的方法会发生异常就可以了。

在try代码块中第①行代码调用FileInputStream构造方法可以会发生FileNotFoundException异常。第②行代码调用BufferedReader输入流的readLine()方法可以会发生IOException异常。从图14-1可见FileNotFoundException异常是IOException异常的子类,应该先FileNotFoundException捕获,见代码第④行;后捕获IOException,见代码第⑤行。

如果将FileNotFoundException和IOException捕获顺序调换,代码如下:

try{
    //可能会发生异常的语句} catch (IOException e) {
    // IOException异常处理} catch (FileNotFoundException e) {
    // FileNotFoundException异常处理}复制代码

那么第二个catch代码块永远不会进入,FileNotFoundException异常处理永远不会执行。

由于上述代码第⑥行ParseException异常与IOException和FileNotFoundException异常没有父子关系,捕获ParseException异常位置可以随意放置。

c51c866ffa1ab3457f2021e8bbdbcc1.jpg


醴陵网站优化醴陵开通400电话醴陵网站搭建、醴陵微信公众号推文外包、醴陵开通京东拼多多设计、醴陵淘宝装修

上一条:醴陵400电话办理【醴陵网站公司】醴陵百度优化、醴陵域名注册、醴陵网店美工、醴陵微信公众号托管
下一条:醴陵小程序制作【醴陵企业邮箱】醴陵网站外包、醴陵微信商城开发、醴陵网店美工、醴陵淘宝设计
网站制作
小程序制作
网站优化
网站开发
400电话办理
网络推广
网站建设
网店装修
微信公众号开发
网页设计
网络公司
域名企业邮箱
服务器空间
网站案例报价
百科问答
编辑排版美工
App软件开发
百度推广
代运营托管
logo设计
网络全网营销
网站备案
网站定制
小程序开发公司
首页
电话
立即预约