黑马程序员技术交流社区

标题: 自定义异常的问题? [打印本页]

作者: 蒙武辉    时间: 2012-2-24 15:45
标题: 自定义异常的问题?
class MyException extends Exception{
        String message;
        public MyException(String Errormessagr){
                message = Errormessagr;       
        }
        public String getMessagr(){
                return message;
        }
}

public class Captor{
        static int quotien(int x, int y) throws MyException{
        if(y < 0){
                throw new MyException("除数不能为负数");
        }

                return x / y;
        }

        public static void main(String args[]){
                try{
                        int result = quotien(3, -9);
                }catch(MyException e){
                        System.out.print(e.getMessage());
                }catch(ArithmeticException e){
                        System.out.print("除数不能为0");                       
                }catch(Exception e){
                        System.out.print("程序发生了其他异常");
                }
        }
}
疑问:为啥结果输出null,而不是我想要的除数不能为负数?

作者: 林铁柱    时间: 2012-2-24 17:05
程序没有问题,只是楼主粗心大意,只要将System.out.print(e.getMessage());改为System.out.print(e.getMessagr());即可。因为你的方法是这样的:
public String getMessagr(){
                return message;
        }
作者: dangfei    时间: 2012-2-24 17:07
System.out.print(e.getMessage());
改成e.message
作者: 蒙武辉    时间: 2012-2-24 22:17
哈哈,知道啦。谢谢各位楼主




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