zfw5850 2015-12-30 07:17 采纳率: 100%
浏览 2687
已采纳

怎么抛出自定义异常类中内部异常类?

问题在代码中已标出,请大婶解疑,能不能这样做,这样做能不能实现

import javax.swing.JOptionPane;

public class PasswdException extends Exception {
PasswdException(int i) {
if (i < 6) {
System.out.println("密码不能小于六位");
}
if (i > 6) {
System.out.println("密码不能大于六位");
}

}
//内部类
public class PasswdExceptionisnum {
    PasswdExceptionisnum(String j) {
        try {
            Integer.parseInt(j);
        } catch (NumberFormatException e) {
            System.out.println("不是数字" + e);
        }
    }

}

}

class Passwd {
public static boolean checkpasswd(String passwd) throws PasswdException {
if (passwd.length() == 6) {
return true;
} else
throw new PasswdException(passwd.length());
if (passwd != null) {
//问题在下一行,请问怎么实现下一行效果
throw new PasswdException.PasswdExceptionisnum(passwd);
//上面一行行错误,这里想抛出PasswdExceptionisnum内部类
}
}

public static void main(String args[]) {
    try {
        String passwd = JOptionPane.showInputDialog(" 请设置初始密码");
        checkpasswd(passwd);
        System.out.println("密码已经设置");
    } catch (PasswdException e) {
        System.out.println(e);
    } finally {
        System.out.println("程序结束");
    }
}

}

  • 写回答

1条回答 默认 最新

  • gds2014 2015-12-30 08:47
    关注

    必须使用外部类对象来创建内部类对象
    PasswdException p=new PasswdException()
    throw p.new PasswdExceptionisnum(passwd)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)