黑马程序员——Java---异常

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------


/*
异常
Exception 


Exception内部包装了很多异常类,Exception是所有异常的父类,该Exception可以接受所有异常处理,但是一般不这么做,必须采取更加精准的处理方式


虽然Exception中包装了很多常见的异常类,但是我们也可以自定义异常类,自定义的异常类必须继承Exception,只有异常类才具备可抛性


自定义一个只接受大写A-Z的类,如果不是大写字母,就抛出自定义异常myexception
*/


class myexception extends Exception
{
myexception(String info)
{
super(info);
}
}


class onlyA_Z 
{
void getCh(char ch)throws Exception
{
if((ch<'A')||(ch>'Z')){
throw new myexception("字符范围必须是大写A-Z");
}
                System.out.println("正确字符");
}
}










class test3 
{
public static void main(String[] args)
{


onlyA_Z myclass = new onlyA_Z();
try //异常处理语句 try,catch,finally
{
myclass.getCh('A');
} catch (Exception e) {

e.printStackTrace();
return ;
}
finally
{
System.out.println("一定会被执行的代码,如果异常处理语句中有return,函数会结束运行,但是finally也一定会执行");
}
}
}


/*
throws throw区别:


throws函数上抛出


throw函数内自定义位置上抛出,并且抛出的异常由throws接住,




RuntimeException:


如果是RuntimeException可直接由throw任意位置抛出。函数上可以不用声明,也可以通过编译


如果在函数外面声明了异常,调用者可以不用进行处理


异常在子父类覆盖时的特点


父类方法上抛出了异常,子类覆盖其方法时可以不抛异常,或者必须抛出父类声明的异常或者改异常的子类


父类方法上抛出了多个异常,子类覆盖其方法时可以不抛异常,或者必须抛出父类声明的异常子集,或者其子类异常
*/











  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值