Java教程

Java面向对象:自定义异常和异常的注意点

本文主要是介绍Java面向对象:自定义异常和异常的注意点,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

自定义异常

​ 使用Java内置的异常类可以描述在编程时岀现的大部分异常情况。除此之外,用户还可以自定
义异常。

一、自定义异常

  • 用户自定义异常类只需要写一个继承 Exception 即可
  • 一般需要重写 toString() 方法
  • 在程序中使用自定义异常类,大体可分为以下几个步骤
    1. 创建自定义异常类
    2. 在方法中通过 throw关键字抛出异常对象
    3. 如果在当前抛出异常的方法中处理异常,可以使用try-atch语句捕获并处理;否则在方法
      的声明处通过 throws关键字指明要抛岀给方法调用者的异常,继续进行下一步操作
    4. 在出现异常方法的调用者中捕获并处理异常
  • Alt + Enter 自动解决 :红色波浪线,如需要解决异常写 try catch 代码块时可以使用。很万能的快捷键


  • 示例

    package com.exception.demo02;
    
    // 自定义异常类
    public class MyException extends Exception{
    
        //传递数字 >10
        private int detail;
    
        public MyException(int a){
            this.detail = a;
        }
    
        public String toString(){
            return "MyException:参数大于10;
        }
    }
    
    package com.exception.demo02;
    
    //自定义异常使用
    public class Test {
    
        //可能会存在异常的方法
    
        public static void test(int a) throws MyException{
    
            System.out.println("传递的参数为:"+a);
            if (a>10) {
    
                //throw 主动抛出的话  ,需要进行下一步操作,
                //  ①可以在方法内try catch处理异常
                //  ②可以在方法上throws抛出异常,让外面调用方法的时候再try catch解决异常。throws
                throw new MyException(a); //这里是有参构造
    
            }
    
        }
    
        public static void main(String[] args) {
            try {
                test(11); // Alt + Enter :报红自动生成try catch等代码
            } catch (MyException e) {
                e.printStackTrace();
            }
        }
    }
    

二、实际应用中应注意的问题

  • 处理运行时异常时,采用逻辑去合理规避同时辅助 try- catch 处理
  • 在多重 catch 块后面,可以加一个 catch ( Exception e)来处理可能会被遗漏的异常
  • 对于不确定的代码,也可以加上try- catch ,处理潜在的异常
  • 尽量去处理异常,切忌只是简单地调用 printstackTrace() 去打印输出
  • 具体如何处理异常,要根据不同的业务需求和异常类型去决定
  • 尽量添加 finally 语句块去释放占用的资源,IO~ Scanner
这篇关于Java面向对象:自定义异常和异常的注意点的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!