try

异常处理

我只是一个虾纸丫 提交于 2020-02-22 08:23:52
什么是异常? /* * 异常:程序出现了不正常的情况 * * 程序的异常:Throwable * 严重问题:Error 这种问题我们一般不处理,因为处理不了,比如内存溢出 * 问题: Exception * 编译期问题:不是RuntimeException的异常是必须进行处理de,因为你不处理,编译就不能通过 * 运行期问题:RuntimeException。这种问题我们一般也不处理,因为这是你的问题,是因为你的代码 * 不够严谨,需要修改代码 * * 如果程序出现问题,我们没有处理,那么虚拟机会做出默认的处理: * 将异常的名称,原因以及出现的问题等输出到控制台。 * 同时会结束程序。 */ public class ExceptionDemo { public static void main(String[] args){ int a=10; // int b=2; int b=0; System.out.println(a/b); System.out.println("over"); } } View Code /* * 我们如何处理异常呢? * A:try...catch...finally * B:throws 抛出 * * try...catch...finally处理格式: * try{ * 可能出现异常的代码 * }catch(异常名变量){ * 针对问题的处理

课堂作业07异常处理

Deadly 提交于 2020-02-21 23:58:37
一、动手动脑 1、请尝试解释一下奇怪的现象。 代码执行时不发生异常。 jvm在处理浮点数时,生成的是ddiv字节码指令,i/0,0转化为浮点数0.0,而0.0是double类型的,并不精确,所以不会抛出异常。 jvm在处理整数时,生成的是idiv字节码指令,整数除0就是除0,会抛出异常。 第一个程序没有执行finally? finally 块必须与 try 或 try/catch 块配合使用。因为没有执行try,所以不会执行finally,异常是系统捕获的,try并没有抛出。 此外,不可能退出 try 块而不执行其 finally 块。如果 finally 块存在,则它总会执行。 (无论从那点看,这个陈述都是正确的。有一种方法可以退出 try 块而不执行 finally 块。如果代码在 try 内部执行一条 System.exit(0); 语句, 则应用程序终止而不会执行 finally 执行。另一方面,如果您在 try 块执行期间拨掉电源,finally 也不会执行。) 2.多层的异常捕获 catchwho.java catchwho2.java 3.EmbedFinally.java 总结try catch finally 1)try抛出一个异常之后,程序会跳出try,不再执行try后边的语句,开始对catch进行匹配,处理异常; 2)try嵌套中

springboot 整合 redis 的使用及 redis工具类

有些话、适合烂在心里 提交于 2020-02-21 22:32:59
一、springboot 整合 redis 1、pom 依赖 <!-- web --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> <!-- redis-jedis --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <!-- commons-pool2 --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-pool2</artifactId> <version>2.6.0</version> </dependency> 2、yml 配置 server: port:

深入了解分布式.md

落花浮王杯 提交于 2020-02-21 18:57:17
深入了解分布式 分布式事务 分布式事务概念 分布式事务产生的原因 事务的ACID特性 分布式理论 CAP理论 BASE理论 分布式事务的应用场景 常见的分布式事务解决方案 两阶段提交 TCC编程模式 TCC开源框架-tcc-transaction TCC使用关键技术分析 分布式项目使用tcc-transaction框架 发布服务 调用服务 LCN解决方案 参考链接 分布式事务 分布式事务概念 分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。 分布式事务是为了保证不同数据库的数据一致性 分布式事务产生的原因 数据库分库分表 当数据库单表一年产生的数据超过1000W,那么就要考虑分库分表 应用SOA化 所谓的SOA化,就是业务的服务化。现在对整个网站进行拆解,分离除了订单中心、用户中心、库存中心。 事务的ACID特性 原子性(Atomicity) 所谓的原子性就是说,在整个事务中的所有操作,要么全部完成,要么全部不做,没有中间状态。对于事务在执行中发生错误,所有的操作都会被回滚,整个事务就像从没被执行过一样。 一致性(Consistency) 事务的执行必须保证系统的一致性,就拿转账为例,A有500元,B有300元,如果在一个事务里A成功转给B50元,那么不管并发多少,不管发生什么,只要事务执行成功了

VS连接数据库的通用方法(SQL/MySql)

好久不见. 提交于 2020-02-21 18:16:39
在vs里面连接数据库的方法有很多,这里是通用的方法和基本操作 SQL 1 /// <summary> 2 /// 数据访问抽象基础类 3 /// Copyright (C) Maticsoft 4 /// </summary> 5 public abstract class DbHelperSQL 6 { 7 public static int DataType = 1; 8 //数据库连接字符串(web.config来配置),多数据库可使用DbHelperSQLP来实现. 9 public static string connectionString = ConfigurationManager.ConnectionStrings["ReadContext"].ConnectionString; 10 public DbHelperSQL() 11 { 12 if(DataType==2) 13 connectionString = ConfigurationManager.ConnectionStrings["ReadContextMySql"].ConnectionString; 14 } 15 16 #region 公用方法 17 /// <summary> 18 /// 判断是否存在某表的某个字段 19 /// </summary> 20 /// <param name=

01_11_SERVLET中使用javabean

混江龙づ霸主 提交于 2020-02-21 16:32:48
01_11_SERVLET 中使用 javabean 1. javabean 广义 javabean = 普通 java 类 狭义 javabean = 符合 Sun JavaBean 标准的类 在 Servlet 中使用 Bean 和在通常程序中使用 Bean 类似 属性名称第一个字母必须小写,一般 private , 比如, private productId 一般具有 getters and setters 要具有一个参数为空的构造方法 但 Bean 不应具有 GUI 表现 一般是用来实现某一业务逻辑或取得特定结果 2. 示例 2.1 封装的 javabean 类 import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class DB { public static Connection getConn () { Connection conn = null ; try { Class. forName ("com.mysql.jdbc.Driver"); conn = DriverManager. getConnection (

swift 异常捕获try catch的使用

三世轮回 提交于 2020-02-21 11:23:46
新的异常捕获机制更新于 WWDC 2015上发布的新的Swift2.0,异常的try-catch机制有助于我们更快的定位出错原因所在,此处简单说明下try-catch机制的用法. 1.定义枚举异常值 首先我们可以创建自己的异常枚举值,这要实现ErrorType协议,只不过这个协议是空的,我们加上就好. 2.抛出异常 我们可以在方法中抛出异常,定义抛出异常的方法很简单,只需要在返回值的 -> 前面加上throws就好了,示例如下:(这个方法是自定义的Dog类里的一个实例方法,name.length()是为系统的String类通过延展添加的方法) 3.捕获异常 我们可以在调用可能抛出异常的方法后面加上catch关键字来捕获异常 4.不处理异常 如果确定某段可能抛出异常的代码是不可能抛出异常的,则可以使用try!来进行调用,但是如果一旦这段代码抛出了一个异常,则会引起一个运行时的异常错误,所以请慎用. 结尾: 值得注意的是,在可能抛出异常的方法中,一但有一处抛出了一个异常,那么这个方法则会立刻停止运行.抛出异常代码后面的代码都将不会得到执行 附自定义Dog类和调用Dog类的代码 enum DogError : ErrorType{ case NameInvalidError case AgeInvalidError case NameLengthError } class Dog:

Java零基础入门之常用工具

允我心安 提交于 2020-02-21 05:15:42
Java异常 什么是异常? 在程序运行过程中,意外发生的情况,背离我们程序本身的意图的表现,都可以理解为异常。 throwable是所有异常的根类,异常分为两种异常exception和error Error是程序中无法处理的错误,表示应用程序中比较严重的问题,分别有虚拟机错误(VirtualMachineError)内存溢出(OutOfMemoryError)线程死锁(ThreadDeath); Exception是程序本身可以处理的异常。异常处理通常指针对这种异常的处理。 Exception异常由分为两种:非检查异常和检查异常 非检查异常:RuntimeException 包括空指针异常(NullPointerException)、数组下标越界异常(ArrayIndexOfBoundsException)、算数异常(ArithmeticException)、类型转换异常(ClassCastException)等,这类异常产生频率较高,产生时可以由程序处理或者抛给(throw)jvm处理,例如上面的例子就是抛给了jvm处理,jvm把程序中断执行,并把错误信息输出到终端上。 检查异常:IO异常(IOException)、SQL异常(SQLException)等,此类异常必须由程序员手动处理, 否则不通过编译。 如何处理异常? 抛出异常---捕获异常--处理异常 捕获异常

VB.net开发的音乐播放器,支持歌词显示歌词同步,点一下歌词直接跳转

断了今生、忘了曾经 提交于 2020-02-21 04:24:59
Imports System.IO Public Class Form1 Public RND As New Random Public g As BufferedGraphics Public g2 As BufferedGraphics Public fonts20 As New Font("微软雅黑", 20) Public fonts11 As New Font("微软雅黑", 11) Public 居中画字样式 As StringFormat Public 播放器 As 歌曲 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load g = BufferedGraphicsManager.Current.Allocate(PictureBox1.CreateGraphics, PictureBox1.DisplayRectangle) g2 = BufferedGraphicsManager.Current.Allocate(PictureBox2.CreateGraphics, PictureBox2.DisplayRectangle) 读取音乐文件并且刷新listview1() 居中画字样式 = New StringFormat() 居中画字样式.LineAlignment

异常

百般思念 提交于 2020-02-20 18:10:26
throw关键字 throws关键字 try…catch关键字 Throwable中的3个异常处理方法 finally关键字 异常重要注意事项 自定义异常类 异常指在程序在运行过程中出现的非正常情况,最终导致JVM的非正常停止。 在Java等面向对象的编程语言中,一场本身是一个类,产生异常 throw关键字 作用:可以使用throw关键主动抛出指定的异常终止程序。 使用格式:throw new xxxException(“异常产生原因”); 注意: (1) throw关键字必须写在方法的内部 (2) throw关键字后边new的对象必须是Exception或者Exception的子类对象 (3) throw关键字抛出指定的异常对象,我们就必须处理这个异常对象。 如果创建的是RuntimeException或者RuntimeException的子类对象,我们可以将其交给JVM处理;如果创建的是编译异常,我们就必须手动处理,要么throw交给上级处理,要么try…catch自己处理。 package C4_异常 ; import java . util . Arrays ; public class class01_throw 关键字 { public static void main ( String [ ] args ) { String [ ] 安理会常任理事国 = { "中国"