java中如何获取throws抛出的异常,并且把异常打印到指定的jsp页面
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中如何获取throws抛出的异常,并且把异常打印到指定的jsp页面相关的知识,希望对你有一定的参考价值。
比如你又一个方法叫a,调用了一个方法b(b方法throws了一个异常),那么在a里面使用try-catch捕获这个异常,在catch块里面,使用jsp的request,或者session将异常对象e.getMessage的内容存储到制定的变量里面(例如request.setAttribute("errorMessage",e.getMessage));然后到页面使用EL表达式$errorMessage取出来就好了。 参考技术A try(
)
catch ()
捕获到异常以后,String s=exception.toString(). 就得到了异常的字符串。然后可以通过Servlet将这个字符串作为变量传入指定页面,然后再在指定页面用JSP输出即可.追问
其实我想做的是通过thows抛出异常,然后写一个异常类来处理异常,但是不知道怎么写,求详细代码,谢谢
追答/*自定义异常*/
class ChushulingException extends Exception
public ChushulingException(String msg)
super(msg);
class ChushufuException extends Exception
public ChushufuException(String msg)
super(msg);
/*测试自定义异常*/
class Numbertest
public int shang(int y) throws ChushulingException
if(y<0)
//抛出异常
throw new ChushufuException("您输入的是"+y+",规定除数不能为负数!");
return m;
class Rt001
public static void main(String[]args)
Numbertest n=new Numbertest();
//捕获异常
try
System.out.println("商="+n.shang(1,-3));
catch(ChushulingException yc)
System.out.println(yc.getMessage());
yc.printStackTrace();
finally System.out.println("finally!"); ////finally不管发没发生异常都会被执行
你硬要自己做一个显示异常的jsp,做个带有<%@ page isErrorPage="true"%>的页面显示。
如果要做一个只显示错误信息又不作为异常处理页面的jsp,就在java的catch里面把exception对象存到request里,然后拿到jsp后打印错误信息追问
如何写一个异常类来处理throw抛出的异常呢!初学者求详细解答
追答你抛出来的不就是异常嘛,还写什么异常类呐?
一般情况下我们就try-catch一下,捕获到这个异常之后根据情况处理一下就ok,比如写错误日志,或者让程序做什么响应,倒是没有做什么特殊的类来干这件事儿
写一个异常类!方便管理啊!能不能写一个异常类啊,然后捕获throw抛出的异常,谢谢
追答写类可以,你可以写一个通用的类用于处理异常,比如写日志或者什么的。但捕获异常是用catch语法,跟类没什么关系啦。
追问能为我写一个简单的列子吗!写一个异常类,然后怎么调用异常类,谢谢啦
追答比如你有一个方法
public static void abc() throws NullPointerException
在main方法里
public static void main(String[] args)
try
abc();
catch (NullPointerException ex)
ExceptionProcess ep = new ExceptionProcess(ex); //这就是你说的异常类
这个类
public class ExceptionProcess
private Exception ex;
public ExceptionProcess(Exception ex) 构造方法,内容就不写了
public void process()
//调用jdbc存储ex的错误信息
state:状态,message:"你需要返回的信息,比如异常",data:你的数据
将你的结果写到这个DataSet中,转换成json格式,传到前台直接获取就行。 参考技术D Java异常均通过catch捕获, 比如 Catch(Exception e).这个里面的e就是捕获的异常信息,将这个消息打印出来就可以了啦
Java throw和throws的区别
通过throw e(e是异常对象)可以在方法内的任何位置手动抛出异常。
在方法内通过throws e(e是异常类名)标识该方法可能抛出的异常,抛出的异常由调用者处理。
参考资料
全套Java编程完整版教程|直播重难点+企业核心项目【职坐标】— 腾讯课堂
以上是关于java中如何获取throws抛出的异常,并且把异常打印到指定的jsp页面的主要内容,如果未能解决你的问题,请参考以下文章
java中throw抛出的异常一定要用相应的catch块处理吗
Java异常处理中关键字throws,throw,try,catch,finally分别代表啥意义?在try块中可以抛出异常吗?