java 异常处理

Posted chenzquan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 异常处理相关的知识,希望对你有一定的参考价值。

Throwable类是所有异常类的根。所有的Java异常类都直接或者间接地继承自Throwable。可以通过继承Exception或者Exception的子类来创建自己的异常类。

 

声明异常

在方法头中使用关键字throws,例如

public void mymethod() throws IOException

 

抛出异常

检测错误的程序可以创建一个合适发的异常类型的实例并抛出他。

例如:

 

捕获异常

可以在try-catch块中捕获和处理他

 

 

从异常中获取信息

 

可以利用Throwable类的实例方法获取有关异常的信息

 

public class Test {
    
    public static void main(String [] args) {
        try {
            System.out.println(sum(new int [] {1,2,3,4,5}));
        }catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
//            System.out.println("\\n" + e.getMessage());
//            System.out.println("\\n" + e.toString());
//            
//        
//            StackTraceElement [] stackTraceElements = e.getStackTrace();
//            for(int i=0; i<stackTraceElements.length; i++) {
//                System.out.print("method " + stackTraceElements[i].getMethodName());// 输出方法名字
//                System.out.print("(" + stackTraceElements[i].getClassName() + ":");//在哪一个类里面
//                System.out.println(stackTraceElements[i].getLineNumber() + ")");  //输出哪一行出错
//            }
        }
    }

    private static int sum(int [] list) {
        int result = 0;
        for(int i=0; i<=list.length; i++) {
            result += list[i];
        }
        return result;
    }
}

 

创建自定义异常类

可以通过继承Exception类来定义一个自定义的异常类

例子

 

以上是关于java 异常处理的主要内容,如果未能解决你的问题,请参考以下文章

使用片段中的处理程序时出现非法状态异常

异常和TCP通讯

java.util.MissingResourceException: Can't find bundle for base name init, locale zh_CN问题的处理(代码片段

java.lang.NullPointerException: Attempt to invoke virtual method ‘int android.database.sqlite异常(代码片段

java异常 throw和try-catch的关系

PCL异常处理:pcl 1.8.13rdpartyoostincludeoost-1_64oost ypeofmsvc ypeof_impl.hpp(125): error(代码片段