- 浏览: 427420 次
- 性别:
- 来自: 济南
文章分类
最新评论
-
wufeipeng2001:
结果呢?
数据源 -
ivan:
这样可以。jstl好傻。用grails没有这个问题。
jstl fn:replace替换换行符 -
396063616:
怎么解决的?
android学习之android.content.res.Resources$NotFoundException: File res/drawable/ -
Rinoajun:
多谢楼主,和你遇到了同样的问题
jstl fn:replace替换换行符 -
hellostory:
tanghanlin 写道这样也可以,在安装插件时,勾选:Co ...
eclipse报错Missing Constraint: Require-Bundle: org.eclipse.emf.transaction;
J2SE 5.0 新增的UncaughtExceptionHandler接口,UncaughtExceptionHandler名字意味着处理未捕获的异常。更明确的说,它处理未捕获的运行时异常。Java编译器要求处理所有非运行时异常,否则程序不能编译通过。这里“处理”的是方法里throws子句声明的异常或在try-catch块里的catch子句的异常。
在下面的示例中,让我们关注两个异常:FileNotFoundException和ArithmeticException。如果使用一个不正确的String或File参数值来构造FileReader时,将会抛出FileNotFoundException异常。当你调用这些构造函数时,编译器要求你处理每一个可能抛出异常的子句:
FileReader input;
String filename = ...;
try {
input = new FileReader(filename);
} catch (FileNotFoundException e) {
processMissingFile(filename, e);
}
我们再来比较一下,ArithmeticException是一个运行时异常。Java编程语言规范(对于编译器而言)不要求处理运行时异常。因此在下面的循环中,从10到0都会被100除,而在最后一次循环中将抛出ArithmeticException异常:
for (int i=10; i >= 0; i--) {
int div = 100 / i;
}
Exception in thread "main" java.lang.ArithmeticException: /
by zero
at Test.main(Test.java:4)
输出堆栈信息显示出缺省未捕获的异常内容。通常说来,这样的缺省行为已经足够了,不过有时也不行。设想你想在弹出式窗口输出堆栈信息,来替代在系统控制台输出该信息。如果你自己设置一个缺省的未捕获异常处理,你就可以得到这样的效果。
这里有三个最新的处理未捕获异常的方法。
-
第一,你可以调用Thread的setUncaughtExceptionHandler()方法。这个方法允许你在特殊的线程里定制行为。
-
第二,你可以定义你自己的ThreadGroup并改变行为使每个线程都从这个组中创建并重写它们的uncaughtException()方法。
-
第三,你可以设置缺省行为让所有线程调用Thread的静态方法setDefaultUncaughtExceptionHandler()。
Thread的setUncaughtExceptionHandler()和setDefaultUncaughtExceptionHandler()方法都需要实现UncaughtExceptionHandler接口作为参数。该接口是Thread类的内部接口,因此它的全名是Thread.UncaughtExceptionHandler。该接口的唯一方法是:
void uncaughtException(Thread t, Throwable e)
当你实现了uncaughtException方法或实现了该接口或重写ThreadGroup的方法,你都可以定制其行为。在下面的示例中,我们实现了UncaughtExceptionHandler,无论运行时异常何时发生,堆栈信息都会显示在窗口的文本区域里。你可以在两个异常间关闭窗口。当下次异常发生时,窗口会再次出现在其他窗口之前。
import java.awt.*;
import java.io.*;
import javax.swing.*;
public class StackWindow extends JFrame
implements Thread.UncaughtExceptionHandler {
private JTextArea textArea;
public StackWindow(
String title, final int width, final int height) {
super(title);
setSize(width, height);
textArea = new JTextArea();
JScrollPane pane = new JScrollPane(textArea);
textArea.setEditable(false);
getContentPane().add(pane);
}
public void uncaughtException(Thread t, Throwable e) {
addStackInfo(e);
}
public void addStackInfo(final Throwable t) {
EventQueue.invokeLater(new Runnable() {
public void run() {
// Bring window to foreground
setVisible(true);
toFront();
// Convert stack dump to string
StringWriter sw = new StringWriter();
PrintWriter out = new PrintWriter(sw);
t.printStackTrace(out);
// Add string to end of text area
textArea.append(sw.toString());
}
});
}
}
要测试这个处理,你需要一个程序来设置这个处理并抛出一些运行时异常。在下面的程序中,DumpTeat将会这样做。为了简单,DumpTest仅仅产生两个异常。如果要抛出更多的异常,你可以自由的在程序里添加更多的错误代码。程序在第一个异常显示后会暂停,你可以在异常间关闭异常堆栈窗口。
import java.io.*;
public class DumpTest {
public static void main(final String args[])
throws Exception {
Thread.UncaughtExceptionHandler handler =
new StackWindow("Show Exception Stack", 400, 200);
Thread.setDefaultUncaughtExceptionHandler(handler);
new Thread() {
public void run() {
System.out.println(1 / 0);
}
}.start();
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
System.out.print("Press Enter for next exception");
br.readLine();
new Thread() {
public void run() {
System.out.println(args[0]);
}
}.start();
System.out.print("Press Enter to end");
br.readLine();
System.exit(0);
}
}
。
发表评论
-
导入jme3的Unknown data type: uint64_t
2012-07-17 17:44 1306今天使用blender编辑了一个场景导入到jme3的工程中,结 ... -
JDK1.3 中的本地绘制支持
2012-07-12 12:36 912转帖:http://www.sudu.cn/info/inde ... -
jdk-6u29 导致 tomcat 启动时卡死
2012-04-05 11:14 2004这几天tomcat在启动的时候来时在连接数据库的时候就停止了, ... -
eclipse查看jar对应的源代码
2012-03-16 11:16 1068在eclipse种关联jar文件对应的源代码的方法如下 右键 ... -
eclipse解析xml提示错误
2011-10-10 22:03 1790在代码种需要用到 import com.sun.org.ap ... -
eclipse学习点滴
2011-07-22 16:44 1068近一段事件在研究eclipse,记录点滴,防止忘记 1.带调 ... -
gef学习好去处
2011-07-02 22:33 929http://blog.csdn.net/evilinside ... -
GEF 请求和编辑策略
2011-07-02 21:59 1253近期打算做界面定义的 ... -
JPA的Hibernate实现的eclipse插件
2011-01-26 11:22 1492http://objectgeneration.com/upd ... -
Netbeans响应慢的原因
2011-01-06 21:42 1537转载:Netbeans响应慢的原因 现象:当 ... -
netbean 扩展的几个扩展点
2011-01-04 21:56 1013NbPreferences.forModule(RibbonL ... -
jboss 学习security
2010-12-25 23:01 1067jboss的安全控制主要包括了下面几个部分 <doma ... -
HornetQ 架构
2010-12-25 22:20 1647核心架构 HornetQ核心设计为多个POJO的集合,他一来 ... -
HornetQ 消息概念
2010-12-25 21:24 1903消息传递保证 大多数 ... -
JBoss将common下的lib放入classspath
2010-12-25 09:45 1348这几天在进行jboss下的开发,那的最小的容器本来想一点一点的 ... -
jboss学习 - vfs
2010-12-12 12:19 7362jboss的VFS是为了解决什么问题,他为什么有用呢 在jb ... -
jboss6 profile配置原理
2010-12-09 23:29 2316今天仔细分析了一下jbos ... -
Jboss5学习Deployment callbacks
2010-12-08 20:39 1254这个地方思维模式比较新颖,这里翻译一下: 有时候 ... -
jboss的bean声明周期名称
2010-12-08 18:03 967bean在解析到使用总共经过了如下的状态变化阶段 PreP ... -
jboss学习 - 程序生成配置代码分析
2010-12-08 14:13 1104以前使用spring已经习惯里,现在研究了一下jboss的微内 ...
相关推荐
10. **异常处理**:良好的异常处理机制能够确保程序在遇到错误时能够优雅地恢复,而不是崩溃。在Java中,使用try-catch-finally语句块来捕获和处理异常。 通过学习和分析这个系统,开发者不仅可以掌握Java Swing ...
5. 错误处理:添加异常捕获,确保程序的稳定性和用户体验。 六、系统优势与适用场景 1. 简单易用:对于初学者,Java Swing和SQLite都是易于理解和上手的工具。 2. 自包含:SQLite无需独立服务器,简化了部署和运行...
7. **异常处理**:为了保证程序的稳定运行,代码中应有适当的异常处理机制,如try-catch-finally结构,捕获并处理可能出现的错误。 8. **布局管理**:Swing提供了多种布局管理器(如FlowLayout, BorderLayout, ...
- **异常处理**:了解如何使用try-catch-finally语句块来捕获和处理程序运行时可能出现的错误,以及如何自定义异常。 2. **数据结构**: - **基本数据结构**:数组、链表、栈、队列等,它们在程序中的应用和实现...
Java的try-catch语句块用于捕获和处理可能出现的异常,确保系统的稳定运行。 8. **文件I/O操作**: 如果项目包含导入或导出数据的功能,那么会涉及到Java的文件I/O操作,如读取配置文件、保存日志或备份数据库。 9....
- 对于可能出现的错误,如网络连接问题、数据库访问异常等,应进行适当的错误处理,并通过`try-catch`块捕获异常。 9. **用户体验**: - 提供清晰的错误提示,如用户名不存在或密码错误,以及友好的交互体验,如...
开发者需要使用try-catch语句来捕获和处理这些异常,保证程序的稳定运行。 9. **测试与调试**: 为了确保ATM模拟程序的正确性,开发者需要进行单元测试和集成测试,验证各个功能模块的正确性和相互间的协同工作。 ...
Java提供了异常处理机制,使用try-catch-finally语句块捕获和处理运行时错误。异常类位于`java.lang.Throwable`层次结构中。 **六、集合框架** Java集合框架包括List、Set、Queue和Map接口以及它们的实现类,如...
9. **异常处理**:在处理银行交易时,应妥善处理可能出现的异常,如网络中断、数据库错误等。通过try-catch-finally语句块捕获并处理异常,以保证程序的健壮性。 10. **测试与调试**:为了确保ATM系统的稳定性和...
通过try-catch语句块捕获和处理异常,可以确保程序的稳定性和用户体验。 8. **设计模式**:面向对象设计模式如单例模式(用于创建全局唯一的对象,如图片缓存)、工厂模式(用于创建对象的实例)和策略模式(用于...
Java提供了`try-catch`块来捕获和处理可能出现的异常,确保程序的稳定运行。开发者可能会在关键代码段中加入异常处理,比如在数据库连接或SQL执行过程中。 7. **数据持久化**: 通过将学生信息存储在MySQL数据库中,...
- 调试过程中要关注错误处理和异常捕获,以提高用户体验。 9. **用户交互设计**: - 界面应该直观易用,遵循GUI设计原则,提供清晰的指示和反馈。 - 可能需要添加帮助文档或在线帮助,指导用户如何配置和使用...
使用try-catch-finally结构进行异常捕获和处理,确保程序的稳定运行。 7. **事件监听**:Swing组件支持事件驱动编程,例如,按钮点击事件、键盘输入事件等。通过实现ActionListener或MouseListener等接口,可以定义...
Java提供了try-catch-finally语句块来捕获和处理异常,确保程序在遇到问题时能够优雅地运行。 6. 性能优化:考虑到数据库查询性能,可能需要使用索引、缓存技术(如 Ehcache)或预加载策略。此外,合理使用线程可以...
- 异常处理:捕获并处理可能出现的异常情况,如数据库连接失败、数据格式错误等。 - 权限控制:根据用户角色分配不同的操作权限,避免未经授权的访问和修改。 - 数据验证:在信息录入时进行数据校验,确保输入的合法...
同时,为了确保程序的稳定运行,需要进行异常处理,以防在加载或应用皮肤时出现错误。 在实际操作中,开发者可能需要执行以下步骤来应用Swing皮肤: 1. 导入所需的皮肤库:首先,你需要将提供的皮肤库(jar文件)...
- **异常处理**: 对可能抛出的异常进行捕获和处理,保证程序稳定运行。 4. **Swing应用开发工具** - **Eclipse** 或 **IntelliJ IDEA**: 这些集成开发环境提供了内置的Swing GUI构建工具,如Eclipse的Window...
6. **异常处理**:为了提高程序的健壮性,开发人员会在关键位置加入异常处理代码,捕获可能出现的错误并提供适当的反馈,防止程序因意外情况而崩溃。 7. **用户验证与权限控制**:在学生请假系统中,可能实现了用户...
6. **异常处理**:在处理用户输入或数据库操作时,可能出现各种异常情况,良好的异常处理机制能确保程序稳定运行。开发者需要学会使用try-catch语句,对可能出现的异常进行捕获和处理。 7. **事件监听器**:Swing中...