黑马程序员技术交流社区
标题:
异常处理语句try与catch
[打印本页]
作者:
杜桂发
时间:
2011-9-16 15:35
标题:
异常处理语句try与catch
自己搞明白了,真汗啊,原来一想通才发现自己问得多么幼稚
:L
这个语句只能写在主函数里吗?下面这能正常运作,但如果把异常处理语句写到其他地方就不能通过编译.
class Demo
{
public static void main(String[] args)
{
Chu c = new Chu();
try
{
int x = c.chuFa(20,5);
System.out.println("x="+x);
}
catch (FuShuException fs)
{
System.out.println("除数中出现了负数");
}
}
}
class FuShuException extends Exception
{
FuShuException(String msg)
{
super(msg);
}
}
class Chu
{
public int chuFa(int a,int b)throws FuShuException
{
if(b<0)
throw new FuShuException("除负数,不合实际");
return a/b;
}
}
[
本帖最后由 杜桂发 于 2011-09-16 18:55 编辑
]
作者:
葛锐
时间:
2011-9-16 15:56
不懂你的意思? 你是说你认为只可以写在main方法里么?
不是这样的 只要是在方法里都可以使用的 并不局限于main方法
在编码的时候 经常要用到的
一般是这样的
try
{
这里放入可能发生异常的代码
}
catch(Exception e)
{
这里放异常处理机制 是抛出 还是打印或是怎么的处理方式
}finally{
这里放不论是否出异常 都会正常出现的 例如System.out.println("出错了");
}
[
本帖最后由 葛锐 于 2011-09-16 15:59 编辑
]
作者:
匿名
时间:
2011-9-18 09:15
标题:
回复 楼主 的帖子
没理解楼主意思。。。。异常语句是有异常了进行捕获 要不就继续抛出。。。你说的放到其他地方是指哪点?你认为异常可以随处放吗?
作者:
匿名
时间:
2011-9-19 16:40
我知道楼主的意思了,不想让try{}catch(){}在main中运行的话,可以这样做
class Demo {
public static void main(String[] args) {
Chu c = new Chu();
int x = c.chuFa(20, 0);
System.out.println("x=" + x);
}
}
class FuShuException extends Exception {
FuShuException(String msg) {
super(msg);
}
}
class Chu {
public int chuFa(int a, int b) {
try {
if (b <= 0)//这里不只是小于零而是小雨等于零
throw new FuShuException("除负数,不合实际");
} catch (Exception e) {
e.printStackTrace();
}
return a / b;
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2