1.Throwable 是java.lang.error 和java.lang.exception的父类,它包括了大部分的错误和异常信息。
由于它是所以得父类,根据这个特性,可以定义捕获异常信息的通用接口。
典型的使用是:
捕获错误发生的类名,函数和行数。
public static String getStackTraceToString(Throwable throw, boolean multiline, int maxstack) {
if (throw == null)
return null;
StackTraceElement[] traces = throw.getStackTrace();
StringBuffer sb = new StringBuffer();
maxstack = (maxstack == -1 || maxstack > traces.length) ? traces.length : maxstack;
for (int i = 0; i < maxstack; i++) {
if (multiline)
sb.append(traces[i].toString()).append(LINE_SEPARATOR);
else
sb.append(traces[i].toString()).append(";");
}
return sb.toString();
}
2.针对Runexception,我们可以建立一个处理Runexception的父类,而其他类型性的exception全部继承这个类,比较简洁:
public class NestedException extends RuntimeException {
protected Exception nestedException;
protected int issueId;
public NestedException(String msg, Exception e, int id) {
super(msg);
this.nestedException = e;
this.issueId = id;
}
public Exception getNestedException() {
return this.nestedException;
}
public int getIssue() {
return this.issueId;
}
}
假设这里有两种类型错误:
ParameterException
public class ParameterException extends NestedException {
public ParameterException(String msg, Exception e, int id) {
super(msg, e, id);
}
}
TechnicalException
public class TechnicalException extends NestedException {
public TechnicalException(String msg, Exception e, int id) {
super(msg, e, id);
}
}
查考:runtimeexception :
http://nakata-yf.iteye.com/blog/23569
http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/java/lang/class-use/RuntimeException.html
http://www.xrss.cn/Info/8533.Html
http://www.javaworld.com/javaworld/jw-11-2007/jw-11-exceptionset.html
http://www.javaworld.com/jw-07-1998/jw-07-techniques.html
分享到:
相关推荐
java Exception中Throwable和Exception之间的区别
### 捕获Throwable与捕获Exception的区别 在Java编程中,异常处理是确保程序健壮性和稳定性的重要机制之一。通常我们使用`try-catch`语句来处理可能发生的异常情况。而在Java中,所有异常类都继承自`Throwable`类,...
composer require wyrihaximus/json-throwable用法该软件包具有四个功能: throwable_json_encode将所有Throwable编码为JSON字符串throwable_encode将任何Throwable编码为数组throwable_json_decode将格式为...
在Java中,所有的异常都是由`Throwable`类派生的,包括`Exception`和`Error`。`Throwable`是Java异常体系的基础,它提供了表示错误和异常的基本结构。 ### 1. `Throwable`类 `Throwable`类是所有异常和错误的基类...
在Java编程语言中,`java.lang.Throwable` 是所有错误(Error)和异常(Exception)的顶级父类,它是异常处理机制的基础。`Throwable` 类提供了封装异常信息的方法和属性,使得开发者能够对程序中出现的问题进行捕获...
- nested throwable错误解决方案 在Jboss应用服务器中,启动报错Failed to parse WEB-INF/web.xml; - nested throwable是一种常见的错误,本文将对此错误进行深入分析,并提供解决方案。 错误原因 Jboss应用...
节点API的Throwable HTTP错误。 安装 npm i throwable-http-errors 用法 const Errors = require ( 'throwable-http-errors' ) // for example, using express.js router . post ( '/' , wrap ( async ( req , res ,...
var Throwable = require ( 'throwable' ) ;function MyError ( wrapped ){ Throwable . call ( this , wrapped ) ; this . name = 'MyError' ;}require ( 'inherits' ) ( MyError , Throwable ) ; 这就是您可以抛...
jquery.throwable:使HTML元素可抛出的JQuery插件
在Spring框架中,事务管理是核心功能之一,它允许开发者以声明式或编程式的方式处理应用中的事务。本文将深入探讨“spring-控制事物回滚”这一主题,结合标签“源码”和“工具”,我们将从源代码层面理解Spring如何...
测试用例设计是软件测试的关键环节,其目的是为了有效地找出软件中的错误和缺陷。本文将深入探讨等价类划分方法,这是一种广泛应用于黑盒测试的策略。 等价类划分方法的核心思想是将输入数据的全集划分为若干个互斥...
2. `public EmosException(String msg, Throwable e)`:除了错误消息外,还接受一个`Throwable`对象,可以保存原始异常的信息,便于后续排查问题。 3. `public EmosException(String msg, int code)`:增加了自定义...
* constructor <code>ExceptionManager(String msg,Throwable throwable)</code>. * * @param msg The message will pass the specified constructor * @param throwable The cause will pass the ...
HttpException httpException = (HttpException) throwable; // 获取错误码和错误信息 ... exception = new ApiException(code, message); } else if (throwable instanceof IOException) { // 处理网络异常 ...
< artifactId>throwable-optional < version>VERSION mvn install 更多信息: : 例子 public static void main( String [] args){ long valueWithTest = ThrowableOptional .of(() - > Long . parseLong( " ...
fastjson-bypass-autotype-1.2.68 fastjson因为exceptClass期望类的特性导致可以通过AutoCloseable和Throwable绕过自动类型。复现运行org.chabug.fastjson.DemoApplication ,访问 自动关闭绕过POST /parseObject ...
private Mono<Void> handleNotFoundException(ServerWebExchange exchange, Throwable throwable) { // 返回 404 错误信息 ServerHttpResponse response = exchange.getResponse(); response.setStatusCode...
throwable error,说一下什么叫error,什么叫非运行时异常,举例子说明 7 线程的实现方式 8 什么叫线程安全 9 怎么处理异常? 10 int和integer的区别? 11 多态实现的机制 12 wait sleep的区别? 13 start run区别?
Java 中的 Error 和 Exception 是两个不同的概念,它们都是 Throwable 的子类,但它们之间存在着许多不同之处。 首先, Error 类和 Exception 类都继承自 Throwable 类,这一点是它们之间的相似之处。但是, Error...
在软件开发过程中,测试用例的编写是质量保证的关键环节,尤其对于初学者而言,掌握这一技能至关重要。本文将深入探讨“软件测试用例编写”的核心概念、方法和技巧,帮助初学者快速入门。 测试用例是软件测试过程中...