黑马程序员——面向对象之异常(二)

本文详细探讨了Java中异常处理的概念,包括运行时异常、编译时期被检测异常,以及如何使用finally代码块确保资源的正确关闭。同时介绍了异常处理的三种常见方式,并强调了捕获和处理异常的重要性。
------- android培训java培训、期待与您交流! ----------

一、RuntimeException

Exception中有一个特殊的子类异常RuntimeException运行时异常如果在函数内部抛出该异常,函数上可以不用申明,编译一样通过;如果在函数上申明了该异常,调用者可以不用进行处理(try catch),编译也一样通过。之所以不用在函数上申明,是因为不需要调用者来处理

当该异常发生时,希望程序停止,因为在运行时,出现了无法运行的情况我希望停止程序后,对代码进行改进。

自定义异常,如果该异常发生,无法进行运算时,就让自定义继承RuntimeException

异常分两种:

1.编译时期被检测异常;

2.编译时期不被检测异常(运行时异常,RuntimeException以及子类)。

程序代码如下:

classFushuException extends ArithmeticException

{

         private int value;

         FushuException(String msg)

         {

                   super(msg);              

         }

}

 

class Demoextends ArithmeticException 

{

         public int div(int a,int b) //throwsArithmeticException

         {

                   if(b<0)

                            throw newFushuException("被负数除啦!");

                   if(b==0)

                            throw newArithmeticException("被零数除啦!");

                   return a/b;

         }

}

class  ExceptionDemo4

{

         public static void main(String[] args)

         {

                   Demo d = new Demo();

                   int x = d.div(4,-1);

                   System.out.println(x);

         }

}


二、Finally

finally代码块,定义一定执行的代码。通常用于关闭资源

public void method() throws NoException //注意这里不能抛出SQLException异常,因为调用者处理不了。需要内部进行问题封装成调用者能处理的异常。

         {

                   //连接数据库

                   //操作数据 //thrownew SQLException数据库异常(出现异常函数自动结束,无法进行后面的语句,即不能关闭数据库)

                   //关闭数据库 //数据库一定要关闭,该语句必须执行

 

                   try

                   {

                            //连接数据库

                            //操作数据

                   }

                   catch (SQLException e)

                   {

                            //数据库异常处理

                            throw newNoException();//分层处理,问题封装

                   }

 

         }

程序代码如下:

classNoException extends Exception

{

        

}

 

classFushuException extends ArithmeticException

{

         private int value;

         FushuException(String msg)

         {

                   super(msg);              

         }

}

 

class Demoextends ArithmeticException 

{

         public int div(int a,int b) //throwsArithmeticException

         {

                   if(b<0)

                            throw newFushuException("被负数除啦!");

                   if(b==0)

                            throw newArithmeticException("被零数除啦!");

                   return a/b;

         }

}

class  ExceptionDemo5

{

         public static void main(String[] args)

         {

                   Demo d = new Demo();

                   try

                   {

                            int x = d.div(4,1);

                            System.out.println(x);

                   }

                   catch (ArithmeticException e)

                   {

                            System.out.println(e.toString());

                   }

                   finally

                   {

                            System.out.println("Finally");

                   }

                  

         }


三、异常处理的三种格式

异常处理的三种格式

第一种:

try

{

        

}

catch ()

{

}

第二种

try

{

        

}

finally ()

{

}

第三种

try

{

        

}

catch ()

{

}

finally

{

 

}

四、总结:

1、catch是处理异常的方式,如果没有Catch就代表异常没有被处理。

如果异常被检测没有被处理,那必须被声明。

2、异常在子父类中的体现:

a.子类在覆盖父类时,如果父类的方法抛出异常,那么子类的覆盖方法,只能抛出父类的异常或者该异常的子类。

b.如果父类方法抛出多个异常,那么子类在覆盖方法是,只能抛出父类异常的子集。

c.如果父类或者接口中没有异常抛出时,那么子类在覆盖方法时,也不可以抛出异常。

  如果子类出现异常时,那么必须try处理掉,绝对不能抛出。

 

 

内容概要:本文详细阐述了工业母机技术领域中“高级结构设计工程师”这一岗位的全方位任职要求与职业发展路径,涵盖职位对标、目标企业、学历与证书要求、年龄范围、管理半径、晋升关键点、必备工作经验年限以及薪资待遇区间。重点突出该岗位对高端数控机床核心结构(如床身、主轴箱、导轨等)设计能力的要求,强调有限元分析、精度控制、热变形补偿、振动抑制等核心技术能力,并明确指出需具备项目主导经验、团队管理能力和跨部门协作经验。同时,根据不同企业类型和发展阶段,给出了清晰的年薪划分标准,体现了市场对该岗位的技术深度与综合能力的高度认可。; 适合人群:具备5年以上工业母机或高端机床结构设计经验,致力于向高级工程师、技术专家或管理岗位发展的结构设计从业者;或希望转型进入高端装备制造业的精密机械研发人员。; 使用场景及目标:①用于求职者精准定位职业发展方向,评估自身与高级岗位之间的能力差距;②辅助企业制定人才招聘标准与薪酬体系;③指导技术人员规划技能提升路径,聚焦核心技术积累与项目经验沉淀。; 阅读建议:建议结合个人职业发展阶段对照文中各项指标进行自我诊断,重点关注“晋升关键点”与“必备年限”部分,有针对性地补齐技术短板、积累主导项目经验,并注重专利成果与团队管理能力的培养,以全面提升竞争力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值