您身边的网站建设专家
成功案例

【建站服务】陆丰爱采购会员/58同城会员账户/百度竞价开户/百家号注册运营/推广公司网站-网站营销全网推广-域名申请

日期: 2022-09-21 03:18:04 浏览数:6


上往建站提供服务器空间服务商百度快照排名网站托管百度推广运营,致力于设计外包服务与源代码定制开发360推广搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。


陆丰爱采购会员/58同城会员账户/百度竞价开户/百家号注册运营/推广公司网站-网站营销全网推广

网站建设.png

上代码编译运行输出结果如下:

Exception thrown  :java.lang.ArrayIndexOutOfBoundsException: 3Out of the block

多重捕获块

一个 try 代码块后面跟随多个 catch 代码块的情况就叫多重捕获。

多重捕获块的语法如下所示:

try{   // 程序代码}catch(异常类型1 异常的变量名1){  // 程序代码}catch(异常类型2 异常的变量名2){  // 程序代码}catch(异常类型3 异常的变量名3){  // 程序代码}

上面的代码段包含了 3 个 catch块。

可以在 try 语句后面添加任意数量的 catch 块。

如果保护代码中发生异常,异常被抛给第一个 catch 块。

如果抛出异常的数据类型与 ExceptionType1 匹配,它在这里就会被捕获。

如果不匹配,它会被传递给第二个 catch 块。

如此,直到异常被捕获或者通过所有的 catch 块。

实例

该实例展示了怎么使用多重 try/catch。

try {    file = new FileInputStream(fileName);    x = (byte) file.read();} catch(FileNotFoundException f) { // Not valid!    f.printStackTrace();    return -1;} catch(IOException i) {    i.printStackTrace();    return -1;}

throws/throw 关键字:

如果一个方法没有捕获到一个检查性异常,那么该方法必须使用 throws 关键字来声明。throws 关键字放在方法签名的尾部。

也可以使用 throw 关键字抛出一个异常,无论它是新实例化的还是刚捕获到的。

下面方法的声明抛出一个 RemoteException 异常:

import java.io.*;public class className{  public void deposit(double amount) throws RemoteException  {    // Method implementation    throw new RemoteException();  }  //Remainder of class definition}

一个方法可以声明抛出多个异常,多个异常之间用逗号隔开。

例如,下面的方法声明抛出 RemoteException 和 InsufficientFundsException:

import java.io.*;public class className{   public void withdraw(double amount) throws RemoteException,                              InsufficientFundsException   {       // Method implementation   }   //Remainder of class definition}

finally关键字

finally 关键字用来创建在 try 代码块后面执行的代码块。

无论是否发生异常,finally 代码块中的代码总会被执行。

在 finally 代码块中,可以运行清理类型等收尾善后性质的语句。

finally 代码块出现在 catch 代码块最后,语法如下:

try{  // 程序代码}catch(异常类型1 异常的变量名1){  // 程序代码}catch(异常类型2 异常的变量名2){  // 程序代码}finally{  // 程序代码}



ExcepTest.java 文件代码:

public class ExcepTest{

  public static void main(String args[]){

    int a[] = new int[2];

    try{

       System.out.println("Access element three :" + a[3]);

    }catch(ArrayIndexOutOfBoundsException e){

       System.out.println("Exception thrown  :" + e);

    }

    finally{

       a[0] = 6;

       System.out.println("First element value: " +a[0]);

       System.out.println("The finally statement is executed");

    }

  }

}

以上实例编译运行结果如下:


Exception thrown  :java.lang.ArrayIndexOutOfBoundsException: 3

First element value: 6

The finally statement is executed

注意下面事项:


catch 不能独立于 try 存在。

在 try/catch 后面添加 finally 块并非强制性要求的。

try 代码后不能既没 catch 块也没 finally 块。

try, catch, finally 块之间不能添加任何代码。

try-with-resources

JDK7 之后,Java 新增的 try-with-resource 语法糖来打开资源,并且可以在语句执行完毕后确保每个资源都被自动关闭 。


JDK7 之前所有被打开的系统资源,比如流、文件或者 Socket 连接等,都需要被开发者手动关闭,否则将会造成资源泄露。


try (resource declaration) {

  // 使用的资源

} catch (ExceptionType e1) {

  // 异常块

}

以上的语法中 try 用于声明和实例化资源,catch 用于处理关闭资源时可能引发的所有异常。


注意:try-with-resources 语句关闭所有实现 AutoCloseable 接口的资源。


实例

import java.io.*;


public class RunoobTest {


    public static void main(String[] args) {

    String line;

        try(BufferedReader br = new BufferedReader(new FileReader("test.txt"))) {

            while ((line = br.readLine()) != null) {

                System.out.println("Line =>"+line);

            }

        } catch (IOException e) {

            System.out.println("IOException in try block =>" + e.getMessage());

        }

    }

}

以上实例输出结果为:


IOException in try block =>test.txt (No such file or directory)

以上实例中,我们实例一个 BufferedReader对象从 test.txt 文件中读取数据。


在 try-with-resources 语句中声明和实例化 BufferedReader 可确语句执行完毕后实例资源,不需要考虑 try 语句是正常执行还是抛出异常。


如果发生异常,可以使用 catch 来处理异常。


再看下不使用 try-with-resources 而改成 finally 来关闭资源,整体代码量多了很多,而且更复杂繁琐了:


实例


陆丰爱采购会员/58同城会员账户/百度竞价开户/百家号注册运营/推广公司网站-网站营销全网推广


上往建站提供搭建网站域名注册官网备案服务网店详情页设计企业网店专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管网页美工排版,致力于域名申请竞价托管软文推广全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机网站推广百度竞价托管网站建设上网建站推广服务网络公司有哪些等业务,专业团队服务,效果好。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


全国咨询热线:400-111-6878

地址:全国各地都有驻点商务

Copyright © 2021 通陆科技

网站建设上往建站