Java——异常处理,数据库连接
在学习数据库连接时看到try(){}结构,查了一下写在这里:
![](/assets/blank.gif)
![](/assets/blank.gif)
1 import java.sql.Connection; 2 import java.sql.DriverManager; 3 import java.sql.ResultSet; 4 import java.sql.Statement; 5 6 /** 7 * Created by BoGummyYoung on 2017/4/6. 8 */ 9 public class ConnMySql 10 { 11 public static void main(String[] args) throws Exception 12 { 13 //1.加载驱动,使用反射知识,现在记住这么写 14 Class.forName("com.mysql.jdbc.Driver"); 15 try( 16 //2.使用DriverManager获取数据库连接 17 //其中返回的Connection就代表了Java程序和数据库的连接 18 //不同数据库的URL写法需要查驱动文档,用户名、密码由DBA分配 19 Connection conn = DriverManager.getConnection( 20 "jdbc:mysql://localhost:3306/select_test" 21 ,"root","bogummy"); 22 //3.使用Connection来创建一个Statement对象 23 Statement stmt = conn.createStatement(); 24 //4.执行SQL语句 25 /* 26 Statement 有三种执行SQL语句的方法: 27 1.execute()可执行任何SQL语句——返回一个boolean值 28 如果执行后第一个结果是ResultSet,则返回true,否则返回false 29 2.executeQuery()执行select语句——返回查询到的结果集 30 3.executeUpdate()用于执行DML语句——返回一个整数 31 代表被SQL语句影响的记录条数 32 */ 33 ResultSet rs = stmt.executeQuery("select s.*, teacher_name" 34 +" from student_table s , teacher_table t" 35 +" where t.teacher_id = s.java_teacher")) 36 { 37 //ResultSet有一系列的getXxx(列索引 | 列名)方法,用于获取记录指针 38 //指向行、列特定的值,不断地使用next()将记录指针下移一行 39 //如果移动之后记录指针依然指向有效行,则next()方法返回true 40 while(rs.next()) 41 { 42 System.out.println(rs.getInt(1) + "\t" 43 + rs.getString(2) + "\t" 44 + rs.getString(3) + "\t" 45 + rs.getString(4) + "\t"); 46 } 47 } 48 } 49 }
View Code
基本的异常处理:
1 try 2 { 3 //业务实现代码 4 ... 5 } 6 catch (Exception e) 7 { 8 alert 输入不合法 9 goto retry 10 }
如果执行try块里的业务逻辑代码时出现异常,系统自动生成一个异常对象,该异常对象被提交给Java运行时环境,这个过程被称为抛出(throw)异常。
通常情况下,如果try块被执行一次,则try块被执行一次,则try块后只有一个catch块会被执行,绝不可能有多个catch块被执行,除非在循环中使用了continue开始下一次循环,下一次循环又重新运行了try块,这才可能导致多个catch块被执行。
Java把所有非正常情况分成两种:异常(Exception)和错误(Error),它们都集成Throwable父类。
Error错误:一般是与虚拟机相关的问题,如系统崩溃、虚拟机错误、动态链接失败等,这种错误无法恢复或不可能补货,将导致应用程序终端,不会使用catch块来补货Error对象。
回收资源:try块里打开了一些物理资源(例如数据库连接、网络连接和磁盘文件等),这些物理资源都必须显示回收。
1、finally回收
1 try 2 { 3 //业务实现代码 4 } 5 catch (SubException e) 6 { 7 //异常处理块1 8 } 9 catch (SubException2 e) 10 { 11 //异常处理块2 12 } 13 ...... 14 finally 15 { 16 //资源回收块 17 }
2、Java7自动关闭资源的try语句
try关键字后面紧跟一队圆括号,圆括号可以声明、初始化一个或多个资源,此处的资源值得是那些必须在程序结束时显示关闭的资源(比如数据库连接、网络连接等),try语句在该语句结束时自动关闭这些资源。
try() { }
转载于:https://www.cnblogs.com/bolumiere/p/6681357.html
Java——异常处理,数据库连接相关推荐
- java异常处理试题答案_Java 面试题和答案 - (下)
第一篇讨论了面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,本章主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servle ...
- Java提高篇——Java 异常处理
异常的概念 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的. 比如说,你的代码少了一个分号,那么运行出来结果是提示是错误java.lang.Error:如果你用Syst ...
- 关于JAVA异常处理的20个最佳实践
关于JAVA异常处理的20个最佳实践 在我们深入了解异常处理最佳实践的深层概念之前,让我们从一个最重要的概念开始,那就是理解在JAVA中有三种一般类型的可抛类: 检查性异常(checked excep ...
- 复习Java异常处理_异常分类_自定义异常_线程初步了解
复习Java异常处理_异常分类_自定义异常_线程 主要内容 异常.线程 教学目标 第一章 异常 1.1 异常概念 异常,就是不正常的意思.在生活中:医生说,你的身体某个部位有异常,该部位和正常相比有点 ...
- java异常处理机制
1.java异常处理机制 java的异常处理机制可以让程序具有极好的容错性,让程序更加健壮.当程序运行出现意外情形时,系 统会自动生成一个 Exception对象来通知程序,从而实现将"业务 ...
- Java异常处理的普遍误解
[b]第一篇文章就上个转载的,哎--先学习再创新吧!做人要谦虚-[/b] 你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六 ...
- java异常处理怎么加_带你了解Java中的异常处理(上)
当当当当当当,各位看官,好久不见,甚是想念. 今天我们来聊聊Java里的一个小妖精,那就是异常. 什么是异常?什么是异常处理? 异常嘛,顾名思义就是不正常,(逃),是Java程序运行时,发生的预料之外 ...
- java 提高篇_【Java入门提高篇】Day16 Java异常处理(上)
当当当当当当,各位看官,好久不见,甚是想念. 今天我们来聊聊Java里的一个小妖精,那就是异常. 什么是异常?什么是异常处理? 异常嘛,顾名思义就是不正常,(逃),是Java程序运行时,发生的预料之外 ...
- Java异常处理(上)
2019独角兽企业重金招聘Python工程师标准>>> 今天我们来聊聊Java里的一个小妖精,那就是异常. 什么是异常?什么是异常处理? 异常嘛,顾名思义就是不正常,(逃),是Jav ...
- Day16 Java异常处理
什么是异常?什么是异常处理? 异常嘛,顾名思义就是不正常,(逃),是Java程序运行时,发生的预料之外的事情,它阻止了程序按照程序员的预期正常执行. 异常处理,应该说异常处理机制,就是专门用来制服这个 ...
最新文章
- Linux KVM与Xen的性能比较
- shellcode中动态定位API
- UVa 11729 - Commando War(贪心算法)
- oracle会话状态,oracle中会话的状态
- linux hadoop集群搭建,hadoop集群搭建
- Netty之自定义编码器MessageToMessageEncoder类
- SAP Spartacus UnitDetailsComponent的路由跟踪
- azure blob_使用Azure Blob存储托管Maven工件
- 内容库-管理介质和模板的最佳办法(转)
- python3.7读取csv文件_Python3 读取csv文件
- RobotStudio机器人运行路径的创建与仿真
- 什么是 Elasticsearch?一篇搞懂
- centos6.9安装MySql可视化管理工具
- 《近匠》专访WRTnode创始人罗未——开源硬件如何拥抱物联网
- C++/C补充知识点,数组,数组传参,二维数组传参打印三种发方法,正则表达式
- 机器人开发--有刷电机 与 无刷电机
- Leetcode 120 Triangle 三角形最小路径和
- 尺寸公DTAS差分析尺寸链计算软件:DTAS3D在车身公差分析中的应用案例
- Vue+SpringBoot的篮球社区平台
- 鼓励与信任让人变得更强大
热门文章
- 笔记本电脑怎么清理灰尘_笔记本电脑卡顿,运行慢,似中病毒,看这里 小白教你轻松搞定...
- mysql mysqldb_mysql模块mysqldb
- 机器学习建模商务合作
- 单片机C语言控制16*16LED显示屏,基于单片机的pwm控制16*16led点阵亮度调节怎么做啊,...
- TensorFlow by Google过拟合优化 Machine Learning Foundations: Ep #7 - Image augmentation and overfitting
- Mac OS开启黑暗模式
- 数据集:高考录取分数
- mysql设置report_host语法_mysqlreport使用详解
- KNN的k该如何选择
- 2020 恒生电子 面经