异常处理笔记简介
1、首先想说的是String类的valueOf方法,其实java万物皆对象,对于所有引用类型的数据变量,都有那个toString()方法来输出,而对于基本数据类型的变量却没有该方法,其中String类的valueOf()方法可以将所有基本数据类型变量变为字符串输出。
2、String类的length()方法、charAt()方法、getChars()方法
String类的==、equals()方法、我们知道java中的String类重写了equals()方法,比较的是两个对象中的字符串是不是完成一样。其它引用类型的对象如果调用那个equals()方法,比较的是两个对象在内存中的地址是否相同。
String类的equalsIgnoreCase()方法比较字符串是否相等,忽略大小写。
compareTo()方法,如果字符串相等,返回的是0,如果调用该方法的字符串大于该方法参数,那么返回的是正数,否则返回的是负数,而返回数值的大小取决于每个字符串中相应字符的数字值。
String类的startWith()方法、endWith()方法,以什么开始,以什么结束,返回值类型都是boolean类型。
3、以上是String类,第十一章内容的一部分。只是因为valueOf()方法而去引出的一系列的问题。
4、异常声明就是在方法参数和方法体之间通过throws关键字并且指明可能抛出的异常类型,我们在一个方法中去声明一个异常是希望方法调用者能够捕获这个异常
RuntimeException类是那些运行在java虚拟机上可能抛出异常的超类
1、finally子句哪怕前面try/catch中有break、continue、return等语句,它也执行。
Exception和Error的区别:
Error一般是指于虚拟机相关的问题,如系统错误、虚拟机错误、内存空间不足、方法调用栈溢等,对于这类错误的导致的应用程序中断,紧靠程序本身无法恢复和预防,遇到这样的错误只能终止程序。
Exception类表示可以处理的异常,可以捕获且可能恢复,遇到这类异常,应尽可能处理异常,是程序恢复运行。
Exception又分为运行时异常和受检查的异常。
RuntimeException运行时异常(也叫作uncheckedException不受控异常):如ArithmaticException,编译能通过,但是运行就会终止,程序不会处理运行时异常
checkedException受控异常,java编译器 捕获或者声明这类异常,编译器检查每个方法的调用和声明,以确定该方法是否抛出受控异常。
如果抛出了,则编译器确保捕获该异常或是在thorw子句中声明该异常,
捕获要求:必须放在try块中,catch块中异常类型必须是抛出的异常类型,且是受控异常类型
声明要求:必须在产生异常方法的参数与方法体之间提供一个throw子句,且该子句是受控异常
Java编译器不会检查代码以确定捕获还是声明不受控异常,(教材上说编译器认为Error是不受控异常,因为程序通常不能处理他们),虽然编译器对不受控异常没有捕获或是声明的强制要求,但你是人,你知道可能要发生这种不受控异常,例如RuntimeException类的子类ArithmeticException和NumberFormatException,你还不想办法解决一下这个格式异常和运算异常,RuntimeException类(的所有直接子类和间接子类都是不受控异常类型。