A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杜桂发 黑马帝   /  2011-9-16 15:35  /  2419 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

自己搞明白了,真汗啊,原来一想通才发现自己问得多么幼稚: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 编辑 ]

评分

参与人数 1技术分 +1 收起 理由
admin + 1 再把问题说清楚点!

查看全部评分

3 个回复

倒序浏览
不懂你的意思? 你是说你认为只可以写在main方法里么?
不是这样的 只要是在方法里都可以使用的  并不局限于main方法  
在编码的时候 经常要用到的
一般是这样的
try
{
这里放入可能发生异常的代码
}
catch(Exception e)
{
这里放异常处理机制 是抛出  还是打印或是怎么的处理方式
}finally{
这里放不论是否出异常 都会正常出现的 例如System.out.println("出错了");
}
[ 本帖最后由 葛锐 于 2011-09-16  15:59 编辑 ]

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-18 09:15:54
藤椅

回复 楼主 的帖子

没理解楼主意思。。。。异常语句是有异常了进行捕获 要不就继续抛出。。。你说的放到其他地方是指哪点?你认为异常可以随处放吗?
回复 使用道具 举报
黑马网友  发表于 2011-9-19 16:40:57
板凳
我知道楼主的意思了,不想让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;
        }
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马