异常处理

动手动脑第五波异常处理

时光毁灭记忆、已成空白 提交于 2020-01-13 03:03:14
注意: 1.可以有多个catch语句块,每个代码块捕获一种异常。在某个try块后有两个不同的catch 块捕获两个相同类型的异常是语法错误。 2.使用catch语句,只能捕获Exception类及其子类的对象。因此,一个捕获Exception对象的catch语句块可以捕获所有“可捕获”的异常。 3.将catch(Exception e)放在别的catch块前面会使这些catch块都不执行,因此Java不会编译这个程序。 4. package 异常处理; public class CatchWho { public static void main(String[] args) { try { try { throw new ArrayIndexOutOfBoundsException(); } catch(ArrayIndexOutOfBoundsException e) { System.out.println( "ArrayIndexOutOfBoundsException" + "/内层try-catch"); } throw new ArithmeticException(); //throw new ArrayIndexOutOfBoundsException(); } catch(ArithmeticException e) { System.out.println(

springmvc拦截器和异常处理

房东的猫 提交于 2020-01-12 16:14:29
SpringMVC的文件上传 1-SpringMVC的请求-文件上传-客户端表单实现(应用) 文件上传客户端表单需要满足: 表单项type=“file” 表单的提交方式是post 表单的enctype属性是多部分表单形式,及enctype=“multipart/form-data” <form action="${pageContext.request.contextPath}/user/quick22" method="post" enctype="multipart/form-data"> 名称<input type="text" name="username"><br/> 文件1<input type="file" name="uploadFile"><br/> <input type="submit" value="提交"> </form> 2-SpringMVC的请求-文件上传-文件上传的原理(理解) 3-SpringMVC的请求-文件上传-单文件上传的代码实现1(应用) 添加依赖 <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version> </dependency> <dependency>

异常处理

前提是你 提交于 2020-01-12 15:28:13
<?php //异常处理 //固定格式 try{ echo 1; throw new Exception("Error Processing Request", 1); echo 2; }catch(Exception $e){ echo $e; echo "<br>"; echo $e -> getMessage(); echo "<br>"; echo $e -> getCode(); } /* * 注意:try catch之间不能加任何代码 * 注意:try-catch是一种结构,一个try至少对应一个catch */ ?> 自定义异常处理类 <?php class myException extends Exception { function demo(){ echo "执行第二套方案<br>"; } } try{ echo "love<br>"; throw new myException("黑恶黑呵呵呵"); echo "you<br>"; }catch(myException $e){ echo $e; echo "<br>"; echo $e->getMessage(); echo "<br>"; echo $e->getCode(); echo "<br>"; $e -> demo(); }catch(Exception $e){ echo $e; echo "

springmvc进阶

倾然丶 夕夏残阳落幕 提交于 2020-01-12 08:41:51
进阶部分知识: 1、高级参数绑定 a) 数组类型的参数绑定 b) List类型的绑定 2、@RequestMapping注解的使用 3、Controller方法返回值 4、Springmvc中异常处理 5、图片上传处理 6、Json数据交互 7、Springmvc实现Restful 8、拦截器 1、高级参数绑定 1.1绑定数组 1.1.1 需求 在商品列表页面选中多个商品,然后删除。 1.1.2 需求分析   此功能要求商品列表页面中的每一个商品前有一个checkbook,选中多个商品后,点击删除按钮, 把商品id传递给Controller,根据商品id删除商品信息。 1.1.3 jsp实现: <c:forEach items="${itemList }" var="item"> <tr> <td><input name="ids" value="${item.id}" type="checkbox"></td> <td>${item.name }</td> <td>${item.price }</td> <td><fmt:formatDate value="${item.createtime}" pattern="yyyy-MM-dd HH:mm:ss"/></td> <td>${item.detail }</td> <td><a href="${pageContext

异常和Log4j

拜拜、爱过 提交于 2020-01-12 02:33:39
一.生活中的异常一路畅通但是,异常情况迟早要发生!堵车!撞车! 二.什么是异常 异常是指在程序的运行过程中所发生的不正常的事件,它会中断正在运行的程序 生活中面对异常通常会这样处理 绕行或者等待 请求交警解决 生活中,根据不同的异常进行相应的处理,而不会就此中断我们的生活 三.Java的异常处理是通过5个关键字来实现的 try、catch、 finally、throw、throws 捕获异常 执行可能产生异常的代码 无论是否发生异常, 捕获异常 代码总能执行 声明异常 抛出异常 四.常见的异常类型 异常层次结构的父类 算术错误情形,如以零作除数 数组下标越界 尝试访问 null 对象成员 不能加载所需的类 方法接收到非法参数 五.Log4J 在项目中加入log4j的JAR文件 创建log4j.properties文件 配置日志信息 使用log4j记录日志信息 来源: CSDN 作者: athga 链接: https://blog.csdn.net/athga/article/details/103826302

SpringMVC框架笔记02_参数绑定返回值文件上传异常处理器JSON数据交互_拦截器

我与影子孤独终老i 提交于 2020-01-12 01:09:46
目录 第1章 高级参数的绑定 1.1 参数的分类 1.2 数组类型的参数的绑定 1.3 集合类型的参数的绑定 第2章 @RequestMapping的用法 2.1 URL路径映射 2.2 请求方法限定 2.3 窄化请求映射 第3章 Controller方法的返回类型 3.1 返回ModelAndView 3.2 返回void 3.3 返回类型为String 3.3.1 逻辑视图名 3.3.2 重定向 3.3.3 转发 第4章 文件上传【重要】 4.1 文件上传页面三要素 4.2 SpringMVC上传文件注意点 4.3 开始上传 4.3.1 场景设计 4.3.2 导入文件上传的jar包 4.3.3 修改页面的jsp代码 4.3.4 配置文件 解析器 4.3.5 编写 Controller 修改商品的方法,其中包括文件上传 4.3.6 测试 4.3.7 注意 第5章 异常处理器 5.1 异常处理的思路 5.2 自定义异常处理器的举例 5.2.1 场景描述 5.2.2 自定义异常处理器 5.2.3 编写错误页面 5.2.4 配置异常处理器 5.2.5 模拟异常 5.2.6 测试 第6章 JSON数据交互 6.1 场景设计 6.2 在修改页面引入JS支持 6.3 修改提交方式 6.4 编写save函数和ajax代码 6.5 在Controller中编写updateitemAjax方法 6

SpringWeb 系列教程 RestTemplate 4xx/5xx 异常信息捕获

好久不见. 提交于 2020-01-11 14:57:45
200104-SpringWeb 系列教程 RestTemplate 4xx/5xx 异常信息捕获 近期使用 RestTemplate 访问外部资源时,发现一个有意思的问题。因为权限校验失败,对方返回的 401 的 http code,此外返回数据中也会包含一些异常提示信息;然而在使用 RestTemplate 访问时,却是直接抛了如下提示 401 的异常,并不能拿到提示信息 那么 RestTemplate 如果希望可以获取到非 200 状态码返回数据时,可以怎么操作呢? I. 异常捕获 1. 问题分析 RestTemplate 的异常处理,是借助 org.springframework.web.client.ResponseErrorHandler 来做的,先看一下两个核心方法 下面代码来自 spring-web.5.0.7.RELEASE 版本 public interface ResponseErrorHandler { // 判断是否有异常 boolean hasError(ClientHttpResponse response) throws IOException; // 如果有问题,进入这个方法,处理问题 void handleError(ClientHttpResponse response) throws IOException; } 简单来讲,当

FastDfs异常处理

喜欢而已 提交于 2020-01-10 19:12:39
1 receive conent error java.net.SocketTimeoutException: Read timed out/com.github.tobato.fastdfs.domain.conn.ConnectionManager - execute fdfs command error com.github.tobato.fastdfs.exception.FdfsIOException: 客户端连接服务端出现了io异常:socket io exception occured while receive content 客户端报如下错误(客户端每分钟4000个请求上传文件100K) 2020-01-10 16:29:02.782 [Thread-23] ERROR com.github.tobato.fastdfs.domain.proto.AbstractFdfsCommand - receive conent error java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.socketRead(SocketInputStream.java

Springboot项目统一异常处理

青春壹個敷衍的年華 提交于 2020-01-10 04:00:22
  Springboot项目统一异常处理   一.接口返回值封装   1. 定义Result对象,作为通用返回结果封装   2. 定义CodeMsg对象,作为通用状态码和消息封装   二.定义全局异常类   三.定义异常处理类   四.特殊处理404异常   五.测试使用效果   一.接口返回值封装   基于目前大多数项目都采用前后端分离架构,所以后端接口统一返回值封装是比较重要的,便于前后端对接与统一处理。当然按各自项目约定实现即可,思路大同小异,下面是我的实现方式,仅供参考   1. 定义Result对象,作为通用返回结果封装   /**   *   @filename Result   *   *   @description 通用返回结果封装   *   * @author llspace   * @version 1.0   * @since 2019/6/17 11:55   **/   @Data   public class Result {   private int code;   private String msg;   private T data;   /**   * 成功时候的调用   */   public static Result success(T data) {   return new Result(data);   }   /**   *

C#多线程中的异常处理

人盡茶涼 提交于 2020-01-08 04:18:01
常规Thread中处理异常 使用Thread创建的子线程,需要在委托中捕捉,无法在上下文线程中捕捉 static void Main(string[] args) { ThreadStart threadStart = DoWork; Thread thread = new Thread(threadStart); thread.Start(); thread.Join(); } static void DoWork() { try { throw new Exception("子线程出现异常了"); } catch (Exception ex) { Trace.Assert(false, "Catch In Delegate"); } } Task中处理异常 1.仍然可以在委托中捕获异常 2.可以捕获Task.Wait() 或者 Task.Result 的 AggregateException 异常 try { task.Wait(); } catch (AggregateException ex) { Console.WriteLine($"Error: {ex.GetType().Name}"); foreach (Exception item in ex.InnerExceptions) { Console.WriteLine($"{item.GetType().Name}