异常处理——java基础
Posted one-piece-zxz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了异常处理——java基础相关的知识,希望对你有一定的参考价值。
Evernote Export
异常处理
-
异常处理的套路模板:
try//创建异常处理{
throw new();//抛出异常
//一旦有异常, 抛出异常后,后面的语句不再执行
语句;{
……
}
}
catch(抓捕什么类型的异常){
语句:{
……
}
}
-
异常处理的特点:
-
异常处理是把将检测错误从处理错误中分离出来。
-
异常类型分类:
-
系统错误:error
-
异常:Exception
-
运行时异常:RuntimeException(一些例子)
-
ArithmeticException(可能引起的异常的原因:一个整数除以0)
-
NullPointerException(可能引起的异常的原因:企图通过一个null引用变量访问一个对象)
-
IndexOutOfBoundException(数组的下标超出范围)
-
IllegalArgumentException(可能引起的异常的原因:传递给方法的参数非法或不合适)
-
异常处理的操作
-
问:如何在方法中声明异常?
使用:
public void get() throws Exception类型
-
问:如何抛出异常
定义:检测一个错误的程序可以创建一个正确异常类型的对象并抛出它,这称为抛出一个异常
使用:
throw new 异常类("……");
注意:
-
声明异常的关键字:throws
-
抛出异常的关键字:throw
-
问:如何捕获异常
使用:
catch(引用异常类型 变量名)//捕获异常{
语句;
}
-
从异常中获取信息
例如:下面可以利用java.lang.Throwable类中的实例方法获取有关异常的信息
-
getMessage();String
-
toString ();String
-
printStackTrace(); void
-
finally子句
作用:不论异常是否出现或者是被捕获,都希望执行某些代码。这时候就用finally子句
使用:
try{
}
catch(theException ex){
}
finally{
}
-
何时使用异常:
场景:一般来说,一个项目中多个类都会发生的共同异常应该考虑作为一种异常类。对于发生在个别方法中的简单错误最好进行局部处理,无需抛出异常。
-
重新抛出异常
场景:如果异常处理没有处理某异常,或者处理器只是希望它的调用者注意到该异常,就允许java异常处理器重新抛出该异常
使用:
try{
}
catch(Exception ex){
throw ex;
}
-
链式异常
package demo1;
public class Demo4 {
//链式异常
public static void main(String[] args) {
try {
method1();
}
catch(Exception ex) {
ex.printStackTrace();
}
}
public static void method1() throws Exception {
try {
}
catch(Exception ex) {
throw new Exception("new info from method1",ex);
}
}
public static void method2() throws Exception {
throw new Exception("new info from method2");
}
}
以上是关于异常处理——java基础的主要内容,如果未能解决你的问题,请参考以下文章
160 01 Android 零基础入门 03 Java常用工具类01 Java异常 03 异常处理简介 01 异常处理分类