自定义Exception

本文改编自http://blog.csdn.net/stellaah/article/details/6738424

[总结]

1.自定义异常:
  class 异常类名 extends Exception {
        public 异常类名(String msg) {
            super(msg);
        }
    }
2.标识可能抛出的异常:
  throws 异常类名1,异常类名2
3.捕获异常:
    try{} catch(异常类名 y){} catch(异常类名 y){}
4.方法解释:
    getMessage()         //输出异常的信息
    printStackTrace()    //输出导致异常更为详细的信息

[代码]

 1 // 自定义异常
 2 class ZeroException extends Exception {
 3     public ZeroException(String msg) {
 4         super(msg);
 5     }
 6 }
 7
 8 class NegtiveException extends Exception {
 9     public NegtiveException(String msg) {
10         super(msg);
11     }
12 }
13 // 自定义异常 End
14
15
16
17 class Calculate {
18     public int shang(int x, int y) throws ZeroException,NegtiveException {
19         if (y < 0) {
20             throw new NegtiveException("您输入的是" + y + ",规定除数不能为负数!");// 抛出异常
21         }
22         if (y == 0) {
23             throw new ZeroException("您输入的是" + y + ",除数不能为0!");
24         }
25
26         int m = x / y;
27         return m;
28     }
29 }
30
31 // main
32 public class AppTest {
33     public static void main(String[] args) {
34         Calculate calculate = new Calculate();
35         // 捕获异常
36         try {
37             System.out.println("商=" + calculate.shang(1, -3));
38         } catch (ZeroException e) {
39             System.out.println(e.getMessage());
40             e.printStackTrace();
41         } catch (NegtiveException e) {
42             System.out.println(e.getMessage());
43         }
44     }
45 }
时间: 2024-10-24 02:42:36

自定义Exception的相关文章

Java自定义Exception

原文地址:http://my.oschina.net/liuzeli/blog/351280 这里总结一下Java的Exception,并实现一个自定义Exception类. 总结: Throwable对象分为两种类型:Error(表示编译时和系统错误):Exception(在Java类库.用户方法以及运行时故障中抛出的异常). Exception细分成两种异常:受检查异常(如,IOException, SQLException等.在编译时要被强制检查的异常,需要用try, catch, fin

C# 自定义Exception

有时需要区分不同的自定义错误,也可能需要特定的错误参数,此时需要自定义一些Exception类,而方法也很简单,简单的说需要继承Exception及其构造函数. 有时为了只调用特定参数,可以把其他构造函数设置为Private,即可隐藏. public class CheckRuleException : Exception { public readonly ECheckRuleExceptionType CheckRuleExceptionType; public object Obj; pu

Django rest framework 自定义Exception

使用Dango rest framework时,有时需要raise APIException到前端,为了统一错误返回格式,我们需要对exception的格式进行调整. 方法: 1. 在project/utils目录下新建exceptions.py 内容: 1 from rest_framework.views import exception_handler 2 3 4 def custom_exception_handler(exc,context): 9 response = excepti

[SpringMVC]自定义注解实现控制器访问次数限制

我们需要根据IP去限制用户单位时间的访问次数,防止刷手机验证码,屏蔽注册机等,使用注解就非常灵活了 1 定义注解 @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) @Documented//最高优先级 @Order(Ordered.HIGHEST_PRECEDENCE) public @interface RequestLimit { /** * * 允许访问的次数,默认值MAX_VALUE */ int count(

@interface [SpringMVC+redis]自定义aop注解实现控制器访问次数限制

我们需要根据IP去限制用户单位时间的访问次数,防止刷手机验证码,屏蔽注册机等,使用注解就非常灵活了 1 定义注解 @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) @Documented//最高优先级 @Order(Ordered.HIGHEST_PRECEDENCE) public @interface RequestLimit { /** * * 允许访问的次数,默认值MAX_VALUE */ int count(

JGroups 入门实践

前言 JGroups是一个开源的纯java编写的可靠的群组通讯工具.其工作模式基于IP多播,但可以在可靠性和群组成员管理上进行扩展.其结构上设计灵活,提供了一种灵活兼容多种协议的协议栈. JGroups 多线程的方式实现了多个协议之间的协同工作,常见工作线程有心跳检测,诊断等等. JGroups实现多机器之间的通信一般都会包含维护群组状态.群组通信协议.群组数据可靠性传输这样的一些主题. JGroups群组的各个节点是存在"管理节点"的,至少可以说某个节点提供了在一段时间内维护状态信息

JGroups 入门实践(转)

前言 JGroups是一个开源的纯java编写的可靠的群组通讯工具.其工作模式基于IP多播,但可以在可靠性和群组成员管理上进行扩展.其结构上设计灵活,提供了一种灵活兼容多种协议的协议栈. JGroups 多线程的方式实现了多个协议之间的协同工作,常见工作线程有心跳检测,诊断等等. JGroups实现多机器之间的通信一般都会包含维护群组状态.群组通信协议.群组数据可靠性传输这样的一些主题. JGroups群组的各个节点是存在"管理节点"的,至少可以说某个节点提供了在一段时间内维护状态信息

异常机制及throw与throws的区别

Java的异常处理: Java的异常处理是通过5个关键字来实现的:try,catch,throw,throws,finally.Java的在线帮     助中对这几个关键字是这样解释的: Throws: Lists the exceptions a method could throw. Throws:列出一个方法可抛出的异常.       Throw: Transfers control of the method to the exception handler. Throw:将方法的控制权

.Net程序员之Python基础教程学习----函数和异常处理[Fifth Day]

   今天主要记录,Python中函数的使用以及异常处理. 一.函数:    1.函数的创建以及调用. def Add(val1,val2): return val1+val2; print Add(1,2) 2. 定义返回多参数的函数,返回的参数以元组的形式返回,可以通过下表索引来获取单个值,下面是获取两数之差和两数之和的函数. 整体上来说还是不错的,在C#中我们一般都用out来实现,多个参数改变返回,不过那样可读性不好. def GetSubAndSum(val1,val2): return