本文改编自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() //输出导致异常更为详细的信息

[代码]

 // 自定义异常
class ZeroException extends Exception {
public ZeroException(String msg) {
super(msg);
}
} class NegtiveException extends Exception {
public NegtiveException(String msg) {
super(msg);
}
}
// 自定义异常 End class Calculate {
public int shang(int x, int y) throws ZeroException,NegtiveException {
if (y < 0) {
throw new NegtiveException("您输入的是" + y + ",规定除数不能为负数!");// 抛出异常
}
if (y == 0) {
throw new ZeroException("您输入的是" + y + ",除数不能为0!");
} int m = x / y;
return m;
}
} // main
public class AppTest {
public static void main(String[] args) {
Calculate calculate = new Calculate();
// 捕获异常
try {
System.out.println("商=" + calculate.shang(1, -3));
} catch (ZeroException e) {
System.out.println(e.getMessage());
e.printStackTrace();
} catch (NegtiveException e) {
System.out.println(e.getMessage());
}
}
}

自定义Exception的更多相关文章

  1. 自定义Exception:MVC抛出自定义异常,并以Json方式返回

    相关链接 优点: 可以统一处理所有页面的异常,对所有需要返回json数据的异常,都用同样的方法throw new DVMException().页面展示,controller的错误处理方式一样 节省编 ...

  2. Java自定义Exception

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  3. Abp中自定义Exception的HttpStatusCode

    Abp中在新版本中,抛出的异常(比如:UserFriendlyException)通过AjaxResponse封装后返回的时候,HttpStatusCode默认指定成了500. 对于一些默认封装好的处 ...

  4. 自定义Exception异常

    自定义异常构建 首先写一个自定义异常,继承Exception,代码如下 public class NoMappingParamString extends Exception { /*无参构造函数*/ ...

  5. Django rest framework 自定义Exception

    使用Dango rest framework时,有时需要raise APIException到前端,为了统一错误返回格式,我们需要对exception的格式进行调整. 方法: 1. 在project/ ...

  6. 自定义Exception——实战篇

    public class EntityConfigurationException : Exception { public EntityConfigurationException(string m ...

  7. JAVA入门[17]-ControllerAdvice处理exception

    1.关于@ControllerAdvice @ControllerAdvice注解本身已经使用了@Component,因此@ControllerAdvice注解所标注的类将会自动被组件扫描获取到,就像 ...

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

    我们需要根据IP去限制用户单位时间的访问次数,防止刷手机验证码,屏蔽注册机等,使用注解就非常灵活了 1 定义注解 @Retention(RetentionPolicy.RUNTIME) @Target ...

  9. 【SpringBoot】单元测试进阶实战、自定义异常处理、t部署war项目到tomcat9和启动原理讲解

    ========================4.Springboot2.0单元测试进阶实战和自定义异常处理 ============================== 1.@SpringBoot ...

随机推荐

  1. Flume-ng+Kafka+storm的学习笔记

    Flume-ng Flume是一个分布式.可靠.和高可用的海量日志采集.聚合和传输的系统. Flume的文档可以看http://flume.apache.org/FlumeUserGuide.html ...

  2. python enumerate

    >>> a = [1, 2, 3] >>> for index, item in enumerate(a): print index, item 0 1 1 2 2 ...

  3. Java基础之写文件——将素数写入文件中(PrimesToFile)

    控制台程序,计算素数.创建文件路径.写文件. import static java.lang.Math.ceil; import static java.lang.Math.sqrt; import ...

  4. HTTP报文

    HTTP报文分为请求报文(request message)与响应报文(response message). 一.报文的组成部分 一个HTTP报文由3部分组成,分别是: (1).起始行(start li ...

  5. logistic regression的一些问题,不平衡数据,时间序列,求解惑

    Logistic Regression 1.在有时间序列的特征数据中,怎么运用LR? 不光是LR,其他的模型也是. 有很多基本的模型变形之后,变成带时序的模型.但,个人觉得,这类模型大多不靠谱. 我觉 ...

  6. PHP Parse Error: syntax error, unexpected $end 错误的解决办

    可以在php.ini中设置short_open_tag = On 第一步,登录到sql命令行   第二步,使用sql语句修改root密码 使用sql语句改密码时一定要选中数据库 .使用 use mys ...

  7. [Reprint]c++ 析构函数的调用

    析构函数在调用默认的析构函数和用户自己覆写的析构函数的时候有点意识模糊呢.写段代码总结下 #include <iostream> using namespace std; class Bo ...

  8. table创建固定表头

    布局:两个div,上部内容将表头复制,高度固定,下部div内部将table设置为margin:-**px; 隐藏掉表头,下部div设置overflow,即可. 代码:

  9. [转]Chrome 控制台console的用法

    Chrome 控制台console的用法 下面我们来看看console里面具体提供了哪些方法可以供我们平时调试时使用. 目前控制台方法和属性有: ["$$", "$x&q ...

  10. ligerui_ligerTree_001_第一个“树”效果

    折叠.展开.有复选框.没有复选框: 源码地址:http://download.csdn.net/detail/poiuy1991719/8571255 效果图: <%@ page languag ...