异常怎么用 异常那个东西一直不知道具体怎么用。 什么时候用 try catch throw exception 请高手指教一下。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一般是通过将异常信息记录到日志,当程序出现异常后通过分析日志来确定问题所在.还可以利用异常来做判断,决定程序的运行步骤.增加友好性,可以捕获某些异常,比方nullPointer异常等,如果不捕获,有可能在页面直接显示出来,但可以通过异常捕获,进行友好的提示.异常作用非常多,远不止上面这几种,可根据实际情况灵活运用. 如果你的程序裡有明確會throw Exception的代碼,則一定得用try catch例如SimpleDateFormat sf = new SimpleDateFormat("");Date d = sf.parse("");因為 sf.parse("");會 throw ParseException,所以必須用 try catch來擷取錯誤,若你不想處理錯誤,則必須將此錯誤往外丟,讓使用你程序的人去處理(try catch)。另外一些沒有明確throw的Exception例如int i= 1/0;這個不會要求一定得用try catch,但如果你沒用try catch來處理,則程序到此就結束,不會繼續往下執行。throw和try catch其實不一定有直接關聯,你可以在catch裡面記下log之後將錯誤繼續往外throw,也可以單純的丟出一些Exception,例如if(a==0){throw new Exception("A不可以是0"); //or throw new MyException("A不可以是0");}只是你用的throw Exception,你的method就必須標明會有哪些Exceptiob被throw,就是宣告在method的throws。總結來說,try catch是用來擷取錯誤,然後處裡錯誤的因應步驟,強化程序的強度。throw 則是把問題丟出來,讓需要處理的程序去處理。 一篇不错的讲解Java异常的文章(转载)----感觉很不错http://www.blogjava.net/freeman1984/archive/2007/09/27/148850.html 2楼已经说的很清楚了,假设你在一段代码A里肯定会产生Exception(一般是API的函数调用时),你必须得用try catch 捕获并处理另一种情况是自己定义一个Exception时, 如果程序运行到某一个状态时得主动抛出一个异常,然后让调用它的程序去处理,这时得用 throw抛出如果还是不清楚,建议看一下 <<Think in java>> 建议在dao、BO等持久层的异常都用throws XXException,统一在业务层XXAction里用try{}catch(){}捕获,一般在捕获以后,记日志,重新转向另一个页面,在页面上进行提升给用户,回滚事务等处理 package org.lxh.exceptiondemo;public class ExceptionDemo01 { public static void main(String args[]) { int i = 10; int j = 0; System.out.println("==============计算开始==============="); try { int temp = i / j; } catch (Exception e) { System.out.println("出现了数学异常:" + e); } finally { System.out.println("不管是否异常,我都执行!!!!!"); } System.out.println("===============计算结束======================"); }}package org.lxh.exceptiondemo;public class ExceptionDemo02 { public static void main(String args[]) { try { throw new Exception("人为抛着玩的!!!"); }catch(Exception e) { e.printStackTrace(); } }}package org.lxh.exceptiondemo;class Math { public int div(int i, int j) throws Exception { System.out.println("===========进行除法操作之前=============="); int temp = 0; try { temp = i / j; } catch (Exception e) { throw e;// 抛出异常,交给throws } finally { System.out.println("===========进行除法操作之后==============="); } return temp; }}public class ExceptionDemo03 { public static void main(String args[]) { Math math = new Math(); try { int temp = math.div(10, 0); System.out.println(temp); } catch (Exception e) { e.printStackTrace(); } }}仔细看看就知道了! 问一个java正则表达式,实在看不出来是匹配什么的 本人菜鸟,求一个程序 DefaultStyledDocument.setCharacterAttributes() 空指针错误,大家帮忙找错 如何解压zip文件?请各位高手给出详细的代码!! 如何把一个新建的线程归到一个线程组中?? 关于paint()方法 朋友们帮帮我呀!我快晕了! java调用sql server问题 JB5中能否添加自定义的事件或者叫监听,怎样添加,高手请指教!! 纠结啊,在线等解答... 覆盖私有方法?
还可以利用异常来做判断,决定程序的运行步骤.
增加友好性,可以捕获某些异常,比方nullPointer异常等,如果不捕获,有可能在页面直接显示出来,但可以通过异常捕获,进行友好的提示.
异常作用非常多,远不止上面这几种,可根据实际情况灵活运用.
例如
SimpleDateFormat sf = new SimpleDateFormat("");
Date d = sf.parse("");
因為 sf.parse("");會 throw ParseException,所以必須用 try catch來擷取錯誤,
若你不想處理錯誤,則必須將此錯誤往外丟,讓使用你程序的人去處理(try catch)。另外一些沒有明確throw的Exception例如
int i= 1/0;
這個不會要求一定得用try catch,但如果你沒用try catch來處理,則程序到此就結束,不會繼續往下執行。throw和try catch其實不一定有直接關聯,你可以在catch裡面記下log之後將錯誤繼續往外throw,
也可以單純的丟出一些Exception,
例如
if(a==0){
throw new Exception("A不可以是0"); //or throw new MyException("A不可以是0");
}
只是你用的throw Exception,你的method就必須標明會有哪些Exceptiob被throw,
就是宣告在method的throws。總結來說,try catch是用來擷取錯誤,然後處裡錯誤的因應步驟,強化程序的強度。
throw 則是把問題丟出來,讓需要處理的程序去處理。
----感觉很不错
http://www.blogjava.net/freeman1984/archive/2007/09/27/148850.html
2楼已经说的很清楚了,
假设你在一段代码A里肯定会产生Exception(一般是API的函数调用时),你必须得用try catch 捕获并处理另一种情况是自己定义一个Exception时, 如果程序运行到某一个状态时得主动抛出一个异常,然后让调用它的程序去处理,这时得用 throw抛出
如果还是不清楚,建议看一下 <<Think in java>>
public static void main(String args[]) {
int i = 10;
int j = 0; System.out.println("==============计算开始==============="); try {
int temp = i / j;
} catch (Exception e) {
System.out.println("出现了数学异常:" + e);
} finally {
System.out.println("不管是否异常,我都执行!!!!!");
} System.out.println("===============计算结束======================"); }}package org.lxh.exceptiondemo;public class ExceptionDemo02 {
public static void main(String args[]) {
try {
throw new Exception("人为抛着玩的!!!");
}catch(Exception e) {
e.printStackTrace();
}
}}package org.lxh.exceptiondemo;class Math {
public int div(int i, int j) throws Exception {
System.out.println("===========进行除法操作之前==============");
int temp = 0;
try {
temp = i / j;
} catch (Exception e) {
throw e;// 抛出异常,交给throws
} finally {
System.out.println("===========进行除法操作之后===============");
}
return temp;
}
}public class ExceptionDemo03 { public static void main(String args[]) {
Math math = new Math();
try {
int temp = math.div(10, 0);
System.out.println(temp);
} catch (Exception e) {
e.printStackTrace();
}
}
}
仔细看看就知道了!