我们知道,如果系统抛出了异常,程序就会终止运行,有时候,这种情况很让人恼火,比如我们启动了一个任务线程,你一直以为它在正常的运行,但当你第 二天一大早查看的时候发现它实际上因为抛出了一个异常早就停止了运行,这个原本你以为一个晚上就可以完成的任务就没有完成了,所以我们有时为了不让系统因 为抛出异常而终止运行,我们就采用try…catch块来捕获异常,从而使得程序在出现了异常的时候仍能继续运行下去。
但有时候,当我们系统运行缺少某些必要的条件时,我们却一定要使得程序就此打住不要再运行下去了,那么这个时候try…catch块就不合适了,因此可以考虑编写自定义的异常类来完成这样的工作。
Exception类是java中所有异常类的父类,比如我们经常见到的NullPointerException所继承的父类RuntimeException就是继承于Exception,Exception类有四个构造方法,子异常类在继承Exception类后,可以自由选择调用其中的哪个构造方法,四个构造方法分别如:
构造方法摘要 | |
Exception() 构造详细消息为 null 的新异常。 |
|
Exception(String message) 构造带指定详细消息的新异常。 |
|
Exception(String message, Throwable cause) 构造带指定详细消息和原因的新异常。 |
|
Exception(Throwable cause) 根据指定的原因和 (cause==null ? null : cause.toString()) 的详细消息构造新异常(它通常包含 cause 的类和详细消息)。 |
现在我们自定义一个异常类:MyException,代码如下:
public class MyException extends Exception { private static final long serialVersionUID = 1L; /** * 带自定义错误信息的输出 * @param message */ public MyException(String message){ super(message); } /** * 自定义错误信息和异常抛出 * @param message * @param cause */ public MyException(String message,Throwable cause){ super(message,cause); } /** * 只有异常抛出 * @param cause */ public MyException(Throwable cause){ super(cause); } }
从上可看出,代码非常简单,我们调用了父类三个构造方法,下面来做一个简单的抛出异常例子:
public static void main(String[] args) throws MyException { try{ String s = null; s.trim(); }catch(NullPointerException e){ throw new MyException("s is null",e); } }
抛出异常如下:
Exception in thread "main" MyException: s is null at Test.main(Test.java:717) Caused by: java.lang.NullPointerException at Test.main(Test.java:715)
跟java的系统异常类的使用也是一样的,就是如此简单。
相关推荐
主要介绍了JSP中内建exception对象时出现500错误的解决方法,以一个简单实例形式分析了exception对象出现500错误的解决方法,涉及浏览器及error文件的设置技巧,具有一定参考借鉴价值,需要的朋友可以参考下
在深入探讨JSP(JavaServer Pages)的九大内建对象之前,我们首先简要回顾一下JSP技术。JSP是一种服务器端脚本语言,用于创建动态网页,它将HTML、CSS、JavaScript与Java代码结合在一起,使开发者能够构建功能丰富的...
8. **exception对象**:仅在错误页面中可用,包含了导致错误发生的异常信息。通过它,开发者可以处理和显示错误信息。 9. **page对象**:等同于当前JSP页面的Java类实例,通常用作JavaBean的引用。 在"第6章 JSP内...
它是一个`JspWriter`类型的对象,继承自`java.io.Writer`类,因此可以用来写入文本内容。 - **方法**: - `void clear();`: 清除输出缓冲区的内容,但不会将其发送到客户端。 - `void clearBuffer();`: 清空输出...
下面将详细介绍JSP中的九个主要内建对象:`request`、`response`、`out`、`session`、`pageContext`、`application`、`config`、`page`以及`exception`(虽然在题目中未提及,但在实际开发中同样重要),并通过实例...
1、解决java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException 2、java.lang.ClassNotFoundException: org.apache.commons.collections.FastHashMap org.apache.c 3、java....
EasyesESYS建站管理系统是易讯网络为企业建站开发的一套企业电子商务网站建设软件。易讯团队集多年、数千家企业网站的建设经验和调研成果精心开发的本系统,意在为各小型企业电子商务网站建设提供一套的、可信赖的建...
在JavaServer Pages (JSP) 中,内建对象是预定义的变量,可以直接在JSP页面中使用,无需显式声明。这些对象提供了方便的方法来处理各种任务,如请求处理、响应生成、会话管理等。以下是JSP内建对象及其相关方法的...
然而,"C++ STL in the Windows Kernel with C++ Exception Support.zip"这个资源可能提供了解决这个问题的方法,允许开发者在Windows内核中利用STL的强大功能,同时保持对C++异常的支持。 C++标准模板库是C++编程...
8. **exception**:Exception对象,记录JSP页面中抛出的异常。 **使用JavaBean** JavaBean是一种符合JavaBeans规范的Java类,它具有良好的封装性,便于复用和组件化。在JSP中,可以通过`<jsp:useBean>`标签来实例...
weenCompany闻名企业网站系统(免费开源)是一个功能强大, 使用简单的中英文企业智能建站系统, 您只需要一些基本的计算机知识就可以利用此系统完成中小型企业网站的建设; 是低成本企业网站架设方案之首选CMS系统, 也...
本文将详细介绍JSP中的九大内建对象,包括Request、Response、Out、Session、Application、Cookie、Config、Page、Exception。 #### 1. Request对象 **定义与功能:** - **Request对象**是JSP中用于封装用户提交...
含建索引,内容检索(多种方式的检索),中文分词(IKAnalyzer、PaodingAnalyzer);Lucene采用3.03版,太新版和 ik paoding不兼容。 ----------------------------------------- 极易分词只支持1.9-2.4版,未测试 ...
4. **Exception拦截器**:处理Action执行过程中的异常,可以根据配置决定是否转到特定的结果页面。 5. **ModelDriven拦截器**:自动将请求参数绑定到模型对象,简化Action代码。 6. **Validation拦截器**:进行表单...
8. **exception对象**:如果页面在错误处理页中,它可以捕获和处理异常信息。 9. **page对象**:等同于当前的Servlet实例,提供了访问Servlet方法的能力。 了解并熟练运用这些内建对象,可以极大地提高JSP开发的...
JSP内建对象是指在JSP页面中无需显式声明即可直接使用的对象,它们由JSP引擎自动创建并提供,包括`request`、`response`、`session`、`application`、`out`、`pageContext`、`page`、`config`和`exception`等。...
JSP提供了九个内置对象,如request、response、session、application、out、pageContext、page、config和exception。这些对象在处理HTTP请求时非常有用,例如,request对象可以获取客户端的请求参数,response对象...
6. page, pageContext, exception:分别代表当前页面对象、页面上下文以及可能出现的异常。 四、JSP脚本元素 1. Scriptlets:`代码 %>`,用于编写Java代码块。 2. 表达式:`表达式 %>`,将Java表达式的值输出到页面...