精华内容
下载资源
问答
  • Java 自定义异常和抛出异常的练习demo
  • 自己编写异常类型 ,自定义错误异常进行全局捕捉。实现项目全局的拦截定义输出。。。
  • Java自定义异常

    2020-12-22 16:41:21
    虽说Java类库已经提供很多可以直接处理异常的类,但是有时候为了更加地捕获和处理异常以呈现更好的用户体验,需要开发者自定义异常。本文是探讨如何自定义异常以及使用自定义的异常。  在进行程序开发的过程中,...
  • java自定义异常类之用户登录,帮助大家更好的理解之定义异常。
  • JAVA自定义异常

    2017-04-27 09:38:21
    java基本语法,自定义异常
  • 主要为大家详细介绍了java自定义异常打印内容的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • Java 自定义异常

    千次阅读 2020-05-06 15:52:15
    Java使用自定义异常就跟你和女朋友相处是一样的,首先你要知道你为什么要跟你女朋友在一起,你女朋友有哪些好处,有哪些不好的地方,再来和你女朋友谈婚论嫁过一辈子。 为什么要使用自定义异常 1.我们在工作的时候...

    在Java使用自定义异常就跟你和女朋友相处是一样的,首先你要知道你为什么要跟你女朋友在一起,你女朋友有哪些好处,有哪些不好的地方,再来和你女朋友谈婚论嫁过一辈子。

    为什么要使用自定义异常

    1.我们在工作的时候,项目是分模块或者分功能开发的,基本不会是一个人开发一整个项目,使用自定义异常类就统一了对外异常展示的方式。

    2.有时候我们遇到某些校验或者问题的时候,需要直接结束掉当前的请求,这时便可以通过抛出自定义异常来结束。如果你的项目中使用了SpringMVC比较新的版本的话有控制器增强,可以通过@ControllerAdvice注解写一个控制器增强类来拦截自定义的异常并响应给前端响应的信息。

    3.自定义异常可以在我们的项目中某些特殊的业务逻辑时抛出异常。

    4.使用自定义异常继承相关的异常来抛出处理后的异常信息,可以隐藏底层的异常。这样更安全,异常信息也会更加直观。自定义异常可以抛出我们自己想要抛出的异常,可以通过抛出的信息区分异常发生的位置,根据异常名我们就可以知道哪里有异常,根据异常提示信息对程序进行修改。比如空指针异常NullPointException,我们可以抛出信息为"XXX为空"的定位异常位置,而不用输出堆栈信息(默认异常抛出的信息)。

    自定义异常的缺点

    毋庸置疑,我们不能期待JVM自动抛出一个自定义异常,也不能期待JVM会自动处理一个自定义异常。发现异常、抛出异常和处理异常的工作必须靠编程人员在代码中利用异常处理机制自己完成。这样就相应地增加了一些开发成本和工作量,所以项目没必要的话,也不一定非得要用上自定义异常,要能够自己去权衡。

    自定义异常的规则

    在Java中可以自定义异常,编写自己的异常类时需要记住以下几点:

    1.所有异常都必须是Throwable的子类。

    2.如果希望写一个检查异常类,则需要继承Exception类。

    3.如果希望写一个运行时异常类,则需要继承RuntimeException类。

    自定义异常的定义与使用

    public class CommonException extends RuntimeException {
        public CommonException(String msg) {
            super(msg);
        }
    }
    
    public void testCommonException() {
        throw new CommonException("错误");
    }
    

    定义和使用都非常简单。

    展开全文
  • 主要给大家介绍了关于Java如何自定义异常打印非堆栈信息的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
  • Java自定义异常

    2021-01-22 15:49:11
    Java自定义异常

    Java自定义异常类

    参考文章:

    (1)Java自定义异常类

    (2)https://www.cnblogs.com/yqcg/p/11541571.html


    备忘一下。


    展开全文
  • java自定义异常及处理

    热门讨论 2012-06-13 16:57:53
    1:异常的分类以及区别 2:自定义异常的实现 3:自定义异常的处理 4:异常的妙用
  • 自定义异常1.1 定义方式1.2 自定义异常的抛出1.3 自定义异常的捕获2. 异常中的方法覆盖 1. 自定义异常 1.1 定义方式 ① 必须继承自Exception或Exception的子类,常用RuntimeException ② 必须提供无参构造方法; ③...
  • 自定义异常 javaCustom Exceptions or User-Defined Exceptions are very common in Java applications. We can easily create custom exception classes for different use cases. 自定义异常或用户定义的异常在...

    自定义异常 java

    Custom Exceptions or User-Defined Exceptions are very common in Java applications. We can easily create custom exception classes for different use cases.

    自定义异常或用户定义的异常在Java应用程序中非常常见。 我们可以轻松地为不同用例创建自定义异常类。



    有哪些不同类型的例外? (What are the different types of Exceptions?)

    In Java, there are two categories of Exceptions:

    在Java中,有两类异常:

    • Checked Exceptions – These are recoverable. These are derived from the Exception class. For example, IOException and FileNotFoundException are checked exceptions.

      已检查的异常 –这些是可恢复的。 这些是从Exception类派生的。 例如,IOException和FileNotFoundException是已检查的异常。
    • Unchecked Exceptions – These are not recoverable and occur at runtime. These are derived from java.lang.RuntimeException class. For example, NullPointerException and IllegalArgumentException are unchecked exceptions.

      未检查的异常 –这些不可恢复的异常在运行时发生。 这些是从java.lang.RuntimeException类派生的。 例如, NullPointerException和IllegalArgumentException是未经检查的异常。

    Further Reading: Exception Handling in Java.

    深度阅读Java中的异常处理

    Moving ahead, let’s look at custom exceptions in the next section.

    继续前进,让我们在下一部分中查看自定义异常。



    Java自定义异常或用户定义的异常 (Java Custom Exceptions or User-Defined Exceptions)

    Custom Exceptions are user-defined exceptions. These are written by programmers specifically for there application use cases.

    自定义异常是用户定义的异常。 这些是由程序员专门为那里的应用程序用例编写的。

    Exception or its child classes. Exception或其子类。

    Unchecked custom exception extends RuntimeException or its child classes.

    未经检查的自定义异常扩展了RuntimeException或其子类。

    All Exceptions are a child of Throwable.

    所有异常都是Throwable的子级。

    Before we get down to the implementation part, let’s make note of a few points.

    在介绍实现部分之前,让我们注意一些要点。

    • Create Custom Exceptions only when they provide a specific use case that none of the available Exceptions provide.

      仅当自定义异常提供了可用异常均不提供的特定用例时,才创建自定义异常。
    • All custom exceptions must follow the standard naming convention. That is camel case and ending with the word “Exception”.

      所有自定义例外都必须遵循标准命名约定。 那是骆驼的情况,并以“例外”一词结尾。
    • Use overloaded constructors for all scenarios.

      在所有情况下都使用重载的构造函数。


    1.自定义未经检查的异常 (1. Custom Unchecked Exceptions)

    An example of custom unchecked exceptions is given below.

    自定义未检查的异常示例如下。

    package com.journaldev.java;
    
    import java.util.ArrayList;
    
    public class CustomExceptions {
    
    
        public static void main(String[] args) {
            ArrayList<String> arrayList = new ArrayList<>();
    
            arrayList.add("Monday");
            arrayList.add("Tuesday");
            arrayList.add("Wednesday");
    
            String day = "Sunday";
    
            if (!arrayList.contains(day)) {
    
                try {
                    throw new DayNotAvailableException("Day not available",day);
                } catch (DayNotAvailableException e) {
                    e.getLocalizedMessage();
                    e.printStackTrace();
                }
            }
    
        }
    }
    
    
    class DayNotAvailableException extends RuntimeException {
    
        private String day;
    
        public DayNotAvailableException() {
            super();
        }
    
        public DayNotAvailableException(String message, String day) {
            super(message);
            this.day = day;
        }
    
        public DayNotAvailableException(String message, String day, Throwable cause) {
            super(message, cause);
            this.day = day;
        }
    
        @Override
        public String toString() {
            return super.toString();
        }
    
        @Override
        public String getMessage() {
            return super.getMessage() + " for the day :" + day;
        }
    
        @Override
        public String getLocalizedMessage() {
            return "The day "+day + " is not available.";
        }
    }
    Java Custom Checked Exceptions

    Java Custom Unchecked Exception

    Java自定义未经检查的异常

    In the above program, we simply throw an error when the value is not present in the ArrayList.

    在上面的程序中,当ArrayList中不存在该值时,我们只是抛出一个错误。

    In the custom exception, we have defined multiple constructors to cover different cases.

    在自定义异常中,我们定义了多个构造函数以涵盖不同的情况。

    The getMessage() and getLocalisedMessage() are overridden to provide custom responses.

    getMessage()和getLocalisedMessage()被重写以提供自定义响应。



    2.用户定义的检查异常 (2. User-Defined Checked Exception)

    Here is a simple example of user-defined checked exception. We will extend the Exception class and override the toString() method.

    这是用户定义的检查异常的简单示例。 我们将扩展Exception类并重写toString()方法。

    package com.journaldev.java;
    
    public class EmployeeNotFoundException extends Exception {
    
    	private static final long serialVersionUID = -2872694086602732648L;
    
    	private int id;
    
    	EmployeeNotFoundException(int i, String message) {
    		super(message);
    		this.id = i;
    	}
    
    	EmployeeNotFoundException(int i, String message, String cause) {
    		super(message, new Throwable(cause));
    		this.id = i;
    	}
    
    	@Override
    	public String toString() {
    		return String.format("EmployeeNotFoundException[%d]", this.id);
    	}
    
    }

    结论 (Conclusion)

    Summing up, Custom Exceptions behave like built-in Exception types. Create a custom exception whenever you need to handle your application/module specific exceptions and boundaries.

    总结起来,自定义异常的行为类似于内置的异常类型。 每当需要处理应用程序/模块特定的异常和边界时,都创建一个自定义异常。

    翻译自: https://www.journaldev.com/31560/java-custom-exception-user-defined

    自定义异常 java

    展开全文
  • Java自定义异常示例

    千次阅读 2020-05-31 00:12:04
    Java中,有两种类型的异常-已检查和未检查的异常。 这是摘要: 已检查 -扩展java.lang.Exception ,以获取可恢复的条件,尝试尝试捕获异常,并编译错误。...自定义检查异常 注意 一些流行的检查异常: ...
    java-custom-exception

    在Java中,有两种类型的异常-已检查和未检查的异常。 这是摘要:

    1. 已检查 -扩展java.lang.Exception ,以获取可恢复的条件,尝试尝试捕获异常,并编译错误。
    2. 未选中 -扩展java.lang.RuntimeException ,以恢复不可恢复的条件,例如编程错误,无需try-catch,运行时错误。

    1.自定义检查异常

    注意
    一些流行的检查异常: IOExceptionFileNotFoundException

    1.1如果客户端能够从异常中恢复,请使其成为已检查的异常。 要创建自定义的检查异常,请扩展java.lang.Exception

    NameNotFoundException.java
    package com.mkyong.examples.exception;
    
    public class NameNotFoundException extends Exception {
    
        public NameNotFoundException(String message) {
            super(message);
        }
    
    }

    1.2对于检查的异常,您需要尝试捕获异常。

    CustomerService.java
    package com.mkyong.examples;
    
    import com.mkyong.examples.exception.NameNotFoundException;
    
    public class CustomerService {
    
        public Customer findByName(String name) throws NameNotFoundException {
    
            if ("".equals(name)) {
                throw new NameNotFoundException("Name is empty!");
            }
    
            return new Customer(name);
    
        }
    
        public static void main(String[] args) {
    
            CustomerService obj = new CustomerService();
    
            try {
    
                Customer cus = obj.findByName("");
    
            } catch (NameNotFoundException e) {
                e.printStackTrace();
            }
    
        }
    }

    输出量

    com.mkyong.examples.exception.NameNotFoundException: Name is empty!
    	at com.mkyong.examples.CustomerService.findByName(CustomerService.java:10)
    	at com.mkyong.examples.CustomerService.main(CustomerService.java:39)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:498)
    	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
    

    2.自定义未经检查的异常

    注意
    一些流行的未经检查的异常: NullPointerExceptionIndexOutOfBoundsExceptionIllegalArgumentException

    2.1如果客户端无法采取任何措施从异常中恢复,请将其设置为未经检查的异常。 要创建自定义的未经检查的异常,请扩展java.lang.RuntimeException

    ListTooLargeException.java
    package com.mkyong.examples.exception;
    
    public class ListTooLargeException extends RuntimeException{
    
        public ListTooLargeException(String message) {
            super(message);
        }
    
    }

    2.3对于未检查的异常,尝试捕获异常是可选的。

    CustomerService.java
    package com.mkyong.examples;
    
    import com.mkyong.examples.exception.ListTooLargeException;
    
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.List;
    
    public class CustomerService {
    
        public void analyze(List<String> data) {
    
            if (data.size() > 50) {
                //runtime exception
                throw new ListTooLargeException("List can't exceed 50 items!");
            }
    
    		//...
        }
    
        public static void main(String[] args) {
    
            CustomerService obj = new CustomerService();
    
    		//create 100 size
            List<String> data = new ArrayList<>(Collections.nCopies(100, "mkyong"));
    
            obj.analyze(data);
    
    
        }
    }

    输出量

    Exception in thread "main" com.mkyong.examples.exception.ListTooLargeException: List can't exceed 50 items!
    	at com.mkyong.examples.CustomerService.analyze(CustomerService.java:25)
    	at com.mkyong.examples.CustomerService.main(CustomerService.java:38)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:498)
    	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
    

    参考文献

    1. 未经检查的例外情况-争议
    2. java.lang.RuntimeException和java.lang.Exception之间的区别

    翻译自: https://mkyong.com/java/java-custom-exception-examples/

    展开全文
  • Java 自定义异常

    千次阅读 2019-12-26 19:01:31
    Java提供的异常类不够使用我们可以及自定义异常类: 格式: publicclassxxxException extends Exception/RuntimeException{ 添加一个空参数的构造方法; 添加一个带异常信息的构造方法; } 下面是一个简单的例子...
  • 主要介绍了Java自定义异常详解及实例代码的相关资料,需要的朋友可以参考下
  • 主要介绍了Java自定义异常类的实例详解的相关资料,希望通过本文能帮助到大家,让大家学习理解掌握这部分内容,需要的朋友可以参考下
  • java 自定义异常实例一 java 自定义异常实例一
  • java 自定义异常

    2015-07-21 09:52:11
    java自定义异常java自定义异常的介绍,如何创建自定义异常,如何使用自己创建的自定义异常。
  • java自定义异常

    万次阅读 多人点赞 2018-08-05 20:44:16
    简单介绍一下java自定义异常类的使用 背景:这里我简单模拟登陆操作,检测到密码不正确则抛出异常 自定义异常类的使用步骤如下: 1、自定义异常类继承Exception类 /** * 自定义异常类 */ public class ...
  • Java自定义异常类以及异常拦截器
  • Java异常机制 异常是一个事件,是指在程序运行过程中,发生的一些中断程序正常运行的事件。Java提供了完善的异常处理机制。 Java异常层次结构图如下:(盗的图) Throwable是所有异常的父类,主要有两个...
  • java自定义异常

    2019-04-03 23:38:34
    自定义异常类型。 自定义错误代码及错误信息。 对于可预知的异常由程序员在代码中主动抛出,由SpringMVC统一捕获。 可预知异常是程序员在代码中手动抛出本系统定义的特定异常类型,由于是程序员抛出的异常,...
  • JAVA自定义异常

    2019-07-09 15:52:36
    有的时候JAVA中定义的异常可能不能满足我们的需求,所以这时候可以考虑自己对异常进行定义。 测试 自定义用户不存在类 package com.imooc.exception; public class UserNotExistException extends RuntimeException...
  • 为什么需要自定义异常类: 我们说了Java中不同的异常类,分别表示着某一种具体的异常情况,那么在开发中总是有些异常情况是SUN没有定义好的,此时我们根据自己业务的异常情况来定义异常类。例如年龄负数问题,考试成绩...
  • Java自定义异常详解

    2019-07-17 21:40:23
    Java学习笔记----自定义异常 JDK中定义了大量的异常类,可以描述编程时出现的大部分异常情况,但是在实际编程过程中有可能描述程序中特有的异常情况,例如在加法时,如果不允许加一个负数,为了解决这种问题,Java...
  • Java自定义异常(优雅的处理异常)

    万次阅读 多人点赞 2018-03-16 15:38:59
    在复杂业务环境下,java自带的异常可能满足不了我们业务的需求, 这个时候我们可以自定义异常来进行对业务异常的处理; 首先,我们先对异常进行基本的解释: Throwable是所有Java程序中错误处理的父类 ,有两种子类:...
  • Java自定义异常理解

    万次阅读 多人点赞 2016-08-27 10:55:25
    前言:看了许多博客和书,都对自定异常一笔带过,总让人感觉莫名奇妙,一直在问自己一个问题,我们能很好的解决异常就很不错了,为什么还要自己自定义异常,让自己去自找麻烦呢?后来我才理解自定义异常有自己的妙用...
  • 掌握自定义异常类 例题: 需求:自定义异常类,简单判断是否注册成功 代码如下: RegisterException类: /** * @author YanYang * @projectName day02 * @description: 自定义异常类,简单判断是否注册成功 * @...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 327,987
精华内容 131,194
关键字:

java自定义异常

java 订阅