`

JAVA基础知识回顾-----异常补充(try-with-resources)-----随想随写

 
阅读更多

try-with-resources
1.定义:在JDK7出现的一种代替finally来关闭资源的异常处理方式
2.基本形式:

  try(resources-specification){
   //使用资源
  }

 
  解释:resources-specification声明初始化资源,可以在这里声明
多个对象,用分号隔开就好;当try语句结束时,资源会自动释放;
try-with-resources也可以不包含catch和finally语句;
  局限:并非所有的资源都可以自动关闭,只有实现了java.lang.AutoCloseable
接口的那些资源才可以自动关闭;该接口是JDK7新增的,定义了close方法;
java.io.Closeable接口继承了java.lang.AutoCloseable接口,这两个接口
被所有的流类实现,包括FileInputStream和FileOutputStream。因此在使用
流时,可以使用try-with-resources语句
ep:
 完整代码:
 

package com.ahuiby.test;

class Dog implements AutoCloseable{
 public Dog(){
  System.out.println("The Dog is created.");
 };
 
 public void init() throws Exception{
  System.out.println("The Dog is inited.");
  throw new Exception();
 }
 
 @Override
 public void close(){
  System.out.println("The Dog is closed.");
 }
  
}

class Cat implements AutoCloseable{
 public Cat(){
  System.out.println("The Cat is created.");
 };
 
 public void init() throws Exception{
  System.out.println("The Cat is inited.");
  throw new Exception();
 }
 
 @Override
 public void close(){
  System.out.println("The Cat is closed.");
 }
  
}

public class Test {

 public static void main(String[] args) {
  // TODO Auto-generated method stub
    try(Dog d=new Dog();
     Cat c=new Cat()){
     d.init();
     c.init();
    }catch(Exception e){
     System.out.println("deal this Exception.");
    }finally{
     System.out.println("All is closed!");
    }
 }
}

 

  运行结果:

 The Dog is created.
 The Cat is created.
 The Dog is inited.
 The Cat is closed.
 The Dog is closed.
 deal this Exception.
 All is closed!

 
  注意:
     a)非流类必须实现AutoCloseable接口
     b)try(初始化对象)

 

 

 

 

 

分享到:
评论

相关推荐

    Java try-with-resource语法使用解析

    Java try-with-resource语法使用解析 在Java编程中,资源的关闭是一件非常重要的事情。否则,随着程序的不断运行,资源泄露将会累积成重大的生产事故。传统上,我们使用finally块来保证资源的关闭。但是,当我们...

    java基础教程----精华版

    - Java使用try-catch-finally结构处理异常,提供了一种统一的错误处理机制。 - 异常类层次结构,根类为`java.lang.Throwable`,常见的有`Exception`和`Error`。 4. **包(Package)**: - 为了管理类和接口,...

    Java使用 try-with-resources 实现自动关闭资源的方法

    Java 使用 try-with-resources 实现自动关闭资源的方法 Java 中的自动资源管理是指在程序执行完毕后自动关闭资源,以免资源泄露或占用。 Java 1.7 之前,我们需要通过 finally 块来释放资源,这种方法有点繁琐。从 ...

    Java如何优雅地关闭资源try-with-resource及其异常抑制

    Java 如何优雅地关闭资源 try-with-resource 及其异常抑制 Java 中关闭资源的重要性不能被夸张,...try-with-resource 语法和异常抑制机制是 Java 中关闭资源的重要机制,它们能够帮助我们写出更加简洁、可靠的代码。

    深入理解Java基础之try-with-resource语法糖

    Java try-with-resource 语法糖详解 Java try-with-resource 语法糖是 Java 1.7 中新增的一种语法糖,它主要用于简化资源的关闭操作。该语法糖可以自动关闭资源,无需开发者手动编写关闭代码,从而避免了资源泄露。...

    java基础知识-try-catch的使用

    try块中包含可能会产生异常的代码,当try块内的代码发生异常时,程序...另外,finally块是可选的,它会在try-catch块执行完毕后始终被执行,无论是否发生异常。finally块通常用于释放资源、关闭文件等必要的清理工作。

    java 连接sqlserver使用的java-sqlserver-connect.jar包

    - JRE7:Java 7(JRE7)是Oracle在2011年发布的版本,引入了一些新特性,比如try-with-resources语句,用于自动关闭资源,增强了switch语句等。 - JRE8:Java 8(JRE8)于2014年发布,引入了lambda表达式、函数式...

    Java基础入门--教学课件--PPT

    Java使用try-catch-finally语句块来捕获和处理运行时错误,提供了良好的异常处理机制。 6. **集合框架**: 包括List(如ArrayList、LinkedList)、Set(如HashSet、TreeSet)和Map(如HashMap、TreeMap),用于...

    java高端技术课程--Java异常处理详解

    7. **try-with-resources**:从Java 7开始,引入了try-with-resources语句,用于自动关闭实现了`AutoCloseable`接口的资源,避免资源泄露。 通过深入学习这个“java高端技术课程--Java异常处理详解”,开发者不仅...

    Java基础学习视频-尚硅谷

    - **异常处理机制**:Java通过try-catch-finally结构来捕获并处理异常。 - **自定义异常**:可以通过继承Exception类来创建自己的异常类,提高程序的健壮性和可维护性。 #### 6. 输入输出流 - **文件读写**:Java...

    Java 基础学习PPt---适合准备学习Java的初学者

    - 异常处理:try-catch-finally结构,自定义异常。 - 注释:单行、多行和文档注释的使用。 4. **第四章:面向对象【上】** - 类与对象:类的定义、对象的创建与销毁。 - 封装:数据隐藏和访问控制(public, ...

    java-java面试题库整理-基础-JVM-线程并发-框架等.zip

    - 异常处理:学习如何使用try-catch-finally语句块进行异常捕获和处理。 - 内存管理:理解栈内存和堆内存的区别,以及垃圾回收机制。 - 集合框架:掌握ArrayList、LinkedList、HashMap、HashSet等容器的使用及其...

    jdk-1.7-java-7-openjdk-amd64.zip

    5. **try-with-resources**:一种新的资源管理方式,自动关闭在try语句块中打开的资源,如输入/输出流。 6. **改进的类型推断**:编译器能更好地推断局部变量和匿名类的类型,减少冗余的类型声明。 7. **二进制...

    Java 基础(6-8) - 异常机制详解.pdf

    - `try-with-resource`: 自动管理资源的语法,适用于实现了`AutoCloseable`接口的对象,资源会在`try`块结束时自动关闭。 异常处理的最佳实践包括: - 只在不正常的情况下使用异常,避免滥用。 - 在`finally`块中...

    mysql-connector-java-5.1.26-bin.zip

    在实际开发中,为了更好的错误处理和资源管理,通常会使用try-with-resources语句和Connection池。 MySQL Connector/J 5.1.26版本可能不支持最新的MySQL特性或安全性更新,因此,对于新的项目,建议使用更现代的...

    Java语言程序设计-基础篇-原书第8版

    Java中的异常处理机制包括try-catch-finally语句,用于捕获和处理程序执行过程中可能出现的错误情况,保证程序的稳定性和可靠性。 ### 输入输出流 Java提供了InputStream和OutputStream及其派生类,用于处理文件、...

    java基础-中级-高级-深入·

    - **异常处理机制**:Java提供try-catch-finally语句来捕获并处理异常。 - **自定义异常**:开发者可以根据需要定义自己的异常类型。 #### 3. 集合框架 - **集合概述**:Java集合框架是一组用于存储和操作对象的...

    Java软件开发实战 Java基础与案例开发详解 3-10 java基础知识章节练习 共4页.pdf

    3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 ...

    mysql-connector-java-5.1.45-bin.jar

    例如,使用`Connection.setAutoCommit(false)`开启手动事务,使用Apache Commons DBCP或C3P0等连接池库来提高性能,以及使用try-with-resources语句确保资源始终得到正确关闭。 总的来说,`mysql-connector-java-...

Global site tag (gtag.js) - Google Analytics