1. 怎么加抛出异常语句
try catch 是捕获异常
public static void main(String[] args)
{
try{
int w=new Integer(args[0]).intValue();
int h=Integer.parseInt(args[1]);
for(int i=0;i{
StringBuffer sb=new StringBuffer();
for(int j=0;j{
}
sb.append('*');
System.out.println(sb.toString());
}
}catch(Exception e){
//捕获到异常后做你想做的事
e.printStackTrace();//打印异常
System.out.println("抛出异常");
}finally{
//这里面的语句一定会走
}
}
2. C++重新抛出异常的表达式怎么写
有可能单个catch不能完全处理一个异常,此时在进行了一些处理工作之后,需要将异常重新抛出,由函数调用链中更上层的函数来处理。重新抛出由“throw;”语句实现,throw后不跟表达式或类型。
“throw;”将重新抛出异常对象,它只能出现在catch或catch调用的函数中,如果出现在其它地方,会导致调用terminate函数。
被重新抛出的异常是原来的异常对象,不是catch形参。该异常类型取决于异常对象的动态类型,而不是catch形参的静态类型。比如来自基类类型形参catch的重新抛出,可能实际抛出的是一个派生类对象。
只有当异常说明符是引用时,在catch中对形参的改变,才会传播到重新抛出的异常对象中。
3. 怎样抛出异常
如果你知道你写的某个函数有可能抛出异常,而你又不想在这个函数中对异常进行处理,只是想把它抛出去让调用这个函数的上级调用函数进行处理,那么有两种方式可供选择:
第一种方式:直接在函数头中throws SomeException,函数体中不需要try/catch。比如将最开始的例子中的testEx2改为下面的方式,那么testEx1就能捕捉到testEx2抛出的异常了。
boolean testEx2() throws Exception{
boolean ret = true;
int b=12;
int c;
for (int i=2;i>=-2;i--){
c=b/i;
System.out.println("i="+i);
}
return true;
}
第二种方式:使用try/catch,在catch中进行一定的处理之后(如果有必要的话)抛出某种异常。例如上面的testEx2改为下面的方式,testEx1也能捕获到它抛出的异常:
boolean testEx2() throws Exception{
boolean ret = true;
try{
int b=12;
int c;
for (int i=2;i>=-2;i--){
c=b/i;
System.out.println("i="+i);
}
return true;
}catch (Exception e){
System.out.println("testEx2, catch exception");
Throw e;
}
}
第三种方法:使用try/catch/finally,在catch中进行一定的处理之后(如果有必要的话)抛出某种异常。例如上面的testEx2改为下面的方式,testEx1也能捕获到它抛出的异常:
boolean testEx2() throws Exception{
boolean ret = true;
try{
int b=12;
int c;
for (int i=2;i>=-2;i--){
c=b/i;
System.out.println("i="+i);
throw new Exception("aaa");
}
return true;
}catch (java.lang.ArithmeticException e){
System.out.println("testEx2, catch exception");
4. java 抛出异常输出ERROR怎么写
如果是jsp程序,建议在web.xml中配置500错误处理页面,最后抛出的异常全部在这个页面里处理。
如果是控制台运行程序或者是其他c/s结构程序,可以在最外面调用的地方catch。
connect到dao一层一层的全部throws出来,在catch里面处理就 ok 了 。
如果你是不知道怎么记录日志,我告诉你两种方法。
一种使用log4j,还有一种方法是用fileoutputstream。
第一种虽然比较麻烦,但不需要自己开发。
第二种比较灵活,但是对中文不直接提供支持。
你可以到网上搜搜相关资料。
5. java 抛出异常一定要写在try里面
java抛出异常不一定要写在try里面,可以在类抛出所有的异常,不用捕捉,让系统自带捕捉,以下为三种抛出异常的方式: 1、public void do1() throws Exception {//抛出所有异常,不用捕捉 throw new Exception("not implement");2、public void do1() { throw new RuntimeException("not implement");//主动抛出异常 }3、public void do1() { try { 。
} catch(Exception e) { 。 //处理异常 } }。
6. 为什么要抛出异常
抛异常是迟早要给某个类处理的。举个例子你就懂了。
假如说A方法掉调用-->B方法调用-->C方法。
然后在B和C方法里定义了throws Exception. A方法里定义了Try Catch。
那么调用A方法时,在执行到C方法里出现了异常,那么这个异常就会从C抛到B,再从B抛到A.
在A里的try catch就会捕获这个异常,然后你就可以在catch写自己的处理代码。
如果A里也是throws Exception,那么会一直向外抛异常,最后抛给Object,也就是java 虚拟机来处理。