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 VB6.0中PICTUREBOX加载本地图片无法显示
    • ¥100 关于游戏app session获取的问题
    • ¥15 MYSQL数据库建表
    • ¥15 爬虫程序爬取TTGChina网站文章代码
    • ¥35 由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作。
    • ¥15 如何用下图方法在AMESim中搭建离心泵模型
    • ¥15 C#连接服务器,请求时报Ssl/Tsl未能建立安全通道
    • ¥15 xcode15build的c++ dylib在10.15上不兼容
    • ¥15 CPLD如何实现在线逻辑分析
    • ¥15 控制面板卸载无权限!!