黑马程序员技术交流社区

标题: 异常 [打印本页]

作者: 郑强强    时间: 2012-4-13 09:57
标题: 异常
class Person
{
        public void checkName(String name)//这个地方为什么不需要声明异常啊??        {
                //if (name.equals("lisi"))
                if("lisi".equals(name))//if(name!=null&&name.equals("lisi"))
                        System.out.println("yes");
                else
                        System.out.println("no")'
        }
}

main()
{
        Person p=new Person();
        p.checkName(null);
}
作者: 孙国军    时间: 2012-4-13 10:08
class Person
{
        public void checkName(String name)//这个地方为什么不需要声明异常啊??        {
                //if (name.equals("lisi"))
                if("lisi".equals(name))//if(name!=null&&name.equals("lisi"))
                        System.out.println("yes");
                else


你这个程序根本就不会抛异常,当然就不要声明异常

如果抛的话,那也只可能是RuntimeException,这个异常也是不用声明就可以直接用的
作者: 高铭    时间: 2012-4-13 10:09
这代码没有异常 就不抛啊  不是什么代码都有异常的
作者: 马强    时间: 2012-4-13 10:27
class Person
{
        public void checkName(String name)//这个地方为什么不需要声明异常啊?? (我明白你的意思,是说name传进去null后是空指针异常)      
     {                                                                                                           (这里可以抛runtime,也可以把"lisi”和name换个位置)
                //if (name.equals("lisi"))
                if("lisi".equals(name))//if(name!=null&&name.equals("lisi"))
                        System.out.println("yes");
                else
                        System.out.println("no")'
        }
}

main()
{
        Person p=new Person();
        p.checkName(null);
}
作者: 郑强强    时间: 2012-4-13 11:26
马强 发表于 2012-4-13 10:27
class Person
{
        public void checkName(String name)//这个地方为什么不需要声明异常啊?? (我明 ...

对啊对啊,就是这个意思啊
作者: 葛尧    时间: 2012-4-13 14:17
null 是空指针异常,属于RuntimeException 运行时异常可以不用声明。

比如刚开始接触异常时,那个除0的算术异常,不是也没声明吗,
那是java虚拟机检测到后,自动抛出的,属于内部定义好的异常




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2