1、异常:程序运行中发生异常时
异常来源:问题也是现实生活中的具体体现,也可以用java类的形式来描述。 封装在对象中。 实际上是java描述异常情况后的对象表示。
问题的划分(两种)一个是严重的问题,另一个是非严重的问题。
在严重情况下,java是用Error类编写的。
Error通常在编写代码时不编写预期的代码
如果不严重,则使用Exception类编写java。
关于Exception,可以用对应目的的处理方法进行处理
Error和Exception都有共同的内容
可擦可擦
2、异常处置
java提供特定于处理的语句。
3、对捕获异常对象的常见方法操作
字符串获取消息(:捕获异常信息。
在函数上声明,让其处理调用,如果不处理,编译将失败。
对许多异常的处理
1、声明异常时,建议声明更具体,这样处理可以更具体。
2、如果对方声明一些异常,对应于有几个catch块,不定义多余的catch块。
如果多个catch块中的异常存在继承关系,则父类的异常catc块位于底部。
建议:
进行catch处理时,请务必对catch定义具体的处理方法,不要轻易写输出语句。
如果throw在函数内部抛出异常对象,则必须给出对应的处理动作:
在内部try catch中处理,或者在函数上声明让调用方处理。
函数内部通常会出现异常,需要在函数上声明。
如果你发现打印的结果只有异常的名字,却没有异常的信息,你怎么定义异常的信息?
因为在父类中已经完成了所有异常信息操作,所以子类只要在生成时将异常信息传递给父类并通过super语句
可以直接从getMessage方法获取自定义异常信息。
自定义例外:
定义类继承Exception或运行时Exception
1、为了让这样的定制类具有可移植性。
2、如何使该类具有操作异常的共性。
throw和throws之间的差异: throw在函数中使用,throws在函数中使用。 throws后面的异常类可以用多个和“,”分开
throw后面有异常的对象。
如果throw抛出异常对象且未对函数进行try处理,则必须在函数中声明该函数,并且编译失败。
注:运行时间扩展除外。 这意味着,如果函数中存在抛出的RuntimeException异常,则函数可以不声明。
如果函数声明异常,调用方必须进行处理。 处理方法可以是throws或try。
finaly{ } //包含必须用于为执行的代码关闭常规资源的文件。
finally中定义的通常是关闭资源代码。 因为必须释放资源。
只有一种情况不会运行finally,如果运行到system.exit(0),则不会运行finally。
异常处理语句:
异常优势: 1、封装问题
2、将常规工艺代码与问题处理代码分离,便于阅读。
的异常处理原则:
1、处理方式有两种。 try或throws;
2、调用抛出异常的功能时,如果抛出一些,就会有一些处理。
一个try对应多个catch。
3、多个catch,父类catch放在底部。
4、需要在catch内定义相应的处理方法,不要简单定义printStackTrace,而是输出语句。
异常注意事项:
如果孩子的父母覆盖:
1、子类抛出的异常必须是父类异常的子类或子集;
2、如果父类或接口没有异常抛出,则子类覆盖出现异常,只能抛出try。
如果我帮你,我就表扬你吧d=====((() (b原作者名称:甜蜜的冬天
来源: CSDN