异常处理

JavaSE Day11

三世轮回 提交于 2020-02-17 07:21:55
本节内容 异常处理机制 异常的定义 异常的分类 Java中异常的处理 异常处理关键词的使用 try...catch throw throws finally 一、异常处理机制 Java中有3大机制: 异常处理机制、垃圾回收机制、反射机制. 今天我们来学习下:异常处理机制以及垃圾回收机制。。。反射机制我们后面在进行学习。 AVA的异常处理机制:如果某个方法不能按照正常的途径完成任务,就可以通过另一种路径退出方法。在这种情况下会抛出一个封装了错误信息的对象。此时,这个方法会立刻退出同时不返回任何值。另外,调用这个方法的其他代码也无法继续执行,异常处理机制会将代码执行交给异常处理器。 二、异常的定义 定义:异常就是在程序的运行过程中所发生的不正常的事件,它会中断正在运行的程序。 我们需要做的是保证程序正常运行结束,那么如何保证程序正常结束? 需要使用异常处理机制来处理异常。 三、Java中的异常的体系及异常的分类。 Thorwable类所有异常和错误的超类,有两个子类Error和Exception,分别表示错误和异常。 其中异常类Exception又分为运行时异常(RuntimeException)和非运行时异常, 这两种异常有很大的区别,也称之为不检查异常(Unchecked Exception) 和检查异常(Checked Exception)。下面将详细讲述这些异常之间的区别与联系

springmvc参数绑定,异常处理,json数据交互,拦截器简单应用

。_饼干妹妹 提交于 2020-02-17 04:58:52
1、包装类型pojo参数绑定 2.1、需求 批量修改数据 集合类型的参数绑定 第一步:在包装类ItemsVo中定义一个List<>属性用来批量保存商品信息 第二步:在controller中编写批量修改的方法 @RequestMapping ( "/editItems" ) public String edtiItems ( ItemsVo itemsVo ) { // TODO Auto-generated method stub //修改操作暂不实现 。。。 System . out . println ( itemsVo ) ; return "redirect:itemsList.action" ; } 第三步:修改jsp页面中 的name属性 注意这里的命名方式 < c : forEach items = "${itemsList}" var = "item" varStatus = "index" > < tr > < td > < input style = "border: 0px;text-align: center;" type = "text" name = "itemsCustomes[${index.index}].id" value = "${item.id}" readonly = "readonly" > < / td > < td > < input

android崩溃日志收集

孤人 提交于 2020-02-17 04:21:14
收集android的崩溃 主要步骤: 实现UncaughtExceptionHandler 我们需要实现UncaughtExceptionHandler接口中的uncaughtException方法。该方法中最常见的操作就是读取崩溃的stacktrace,然后上报服务器数据便于分析。 实现代码 public class SimpleUncaughtExceptionHandler implements Thread.UncaughtExceptionHandler { private static final String LOGTAG = "SimpleUncaughtExceptionHandler"; @Override public void uncaughtException(Thread thread, Throwable ex) { //读取stacktrace信息 final Writer result = new StringWriter(); final PrintWriter printWriter = new PrintWriter(result); ex.printStackTrace(printWriter); String errorReport = result.toString(); Log.i(LOGTAG, "uncaughtException

java内部类以及异常处理

烂漫一生 提交于 2020-02-17 03:44:32
框架图 内部类 将一个类定义在另一个类的里面,里面那个类就称为内部类(也叫内置类或嵌套类)。 内部类的访问规则: 1。内部类可以直接访问外部类中的成员,包括私有成员。 之所以可以直接访问外部类中的成员,是因为内部类中持有了一个外部类的引用,格式 外部类名.this 2。外部类要访问内部类,必须建立内部类对象。 1 class InnerClassDemo 2 { 3 public static void main(String[] args) 4 { 5 //外部其他类直接访问内部类中的成员。格式写法 6 Outer.Inner in = new Outer().new Inner(); 7 in.function(); 8 } 9 } 10 11 12 class Outer 13 { 14 private int x = 3; 15 16 class Inner//内部类定义在成员位置上 17 { 18 19 void function() 20 { 21 System.out.println("innner :"+x);//内部类可以直接访问外部类,相当于省略了Outer.this句柄。 22 } 23 } 24 25 void method() 26 { 27 Inner in = new Inner();//外部类想访问内部类要先建立内部类对象。 28 in

【转】JDK1.8中的try-with-resources声明

混江龙づ霸主 提交于 2020-02-17 02:55:37
DK1.7开始,java引入了 try-with-resources 声明,将 try-catch-finally 简化为 try-catch,这其实是一种语法糖,在编译时会进行转化为 try-catch-finally 语句。新的声明包含三部分:try-with-resources 声明、try 块、catch 块。它要求在 try-with-resources 声明中定义的变量实现了 AutoCloseable 接口,这样在系统可以自动调用它们的close方法,从而替代了finally中关闭资源的功能。 但是,它们的异常抛出机制发生了变化。在过去的 try-catch-finally 结构中,我们在finally块中关闭资源通常是这样的: catch (Exception e) { e.printStackTrace(); // 第一处异常处理 } finally { try { if (c != null) { c.close(); } } catch (IOException e) { e.printStackTrace(); // 第二处异常处理 } } 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 异常处理有两种情况: try 块没有发生异常时,直接调用finally块,如果 close 发生异常,就处理。

Java中的异常处理

浪尽此生 提交于 2020-02-17 02:10:12
在Java这种纯面向对象编程语言中,有着“一切皆对象”的说法。所以,java也是通过类来描述程序出现的异常现象。在编译的时候,一些严重的错误,比如说语法错误,会被虚拟机检测出来。而异常指的是程序运行过程中,受到了一些阻碍,无法继续进行下去。这个时候就会抛出异常,从当前位置向上级一层一层地抛出。 1、先看一个简单例子: 1 package myException; 2 3 public class Demo_1 { 4 5 public static void main(String[]args) { 6 Test test1=new Test(); 7 int num = test1.div(2,0); 8 System.out.println(num); 9 System.out.println("over......"); 10 } 11 } 12 13 class Test 14 { 15 public int div(int a, int b){16 return a / b; 17 } 18} 如果程序在进行整除运算时,不小心除了0,会发生什么现象? 抛出了算术异常,程序立刻终止,因为最后一句“over......”也没有打印出来。 2、try catch语句 既然有了异常,我们就要对其进行处理。 1 package myException; 2 3 public

springmvc异常处理

混江龙づ霸主 提交于 2020-02-16 21:22:39
在异常处理时,如果没有加异常处理器则会在页面提示出错误信息,这样对用户不友好。所以需要加上异常处理器,需要编写一个异常处理类实现Handler-ExceptionResolver接口。这样再出现错误时前端控制器就会调用异常处理方法来处理异常,并转移到友好页面。 1、没加异常处理器 1.1 index.jsp内容 < % @ page contentType = "text/html;charset=UTF-8" language = "java" % > < html > < body > < h3 > 异常处理 < / h3 > < a href = "user/testException01" > 异常处理 ( 没有加异常处理器 ) < / a > < % -- < a href = "user/testException02" > 异常处理 ( 加了异常处理器 ) < / a > -- % > < / body > < / html > 1.2 controller层 @Controller @RequestMapping ( "/user" ) public class UserController { /** * 模拟异常(没加异常处理器),异常直接向上抛, * 由于没有异常处理器最终异常会抛给页面,造成 * 用户不友好的感官体验。 */ @RequestMapping

Java异常处理机制

孤人 提交于 2020-02-15 14:50:55
Throwable类是Java语言中所有错误和异常的超类。 只有作为该类(或其子类之一)实例的对象才由Java虚拟机抛出,或者可以由Java throw语句抛出。 类似地,只有这个类或它的一个子类可以是catch子句中的参数类型。 为了在编译时检查异常, Throwable 类和 Throwable 类的任何子类(不同时是RuntimeException或Error的子类)都被视为已检查异常。 异常是程序在编译或运行过程出现的例外,这些例外在有的可以避免有的却无法避免。 所有的异常类是从 java.lang.Exception 类继承的子类。 Exception 类是 Throwable 类的子类。除了Exception类外,Throwable还有一个子类Error 。 Java 程序通常不捕获错误。错误一般发生在严重故障时,它们在Java程序处理的范畴之外。 Error 用来指示运行时环境发生的错误。 例如,JVM 内存溢出。一般地,程序不会从错误中恢复。 1、异常分类 package LESSON10; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner; public class demo1 { /