如何创建一个可以使用try.....catch.......捕获的异常

代码很简单,大家一看基本上就能明白(有一定的java基础,熟悉try......catch.....finally的使用方法)

 1 package com.nokia.test1;
 2
 3
 4 public class test {
 5
 6
 7     public static void main(String[] args) {
 8
 9         NumberTest n = new NumberTest();
10
11         //捕获异常
12         try{
13             System.out.println("商="+n.div(1,0));
14
15         }catch(customException1 yc){
16             System.out.println(yc.getMessage());
17             yc.printStackTrace();
18         }
19         catch(customException2 yx)
20         {
21             System.out.println(yx.getMessage());
22             yx.printStackTrace();
23         }
24         catch(Exception y)
25         {
26             System.out.println(y.getMessage());
27             y.printStackTrace();
28         }
29
30         finally{ System.out.println("finally!");} ////finally不管发没发生异常都会被执行
31
32
33
34     }
35
36 }
37
38 class customException1 extends Exception{
39
40     public customException1(String msg) {
41         super(msg);
42         // TODO Auto-generated constructor stub
43     }
44 }
45
46
47 class customException2 extends Exception{
48
49     public customException2(String message) {
50         super(message);
51         // TODO Auto-generated constructor stub
52     }
53 }
54
55
56 class NumberTest{
57
58     public int div(int x, int y) throws customException1, customException2 {
59
60         if (y<0) {
61
62             throw new customException1("您输入的是"+y+",规定除数不能为负数!"); //抛出异常
63         }
64
65          if(y==0)
66             {
67                 throw new customException2("您输入的是"+y+",除数不能为0!");
68             }
69
70         return x / y;
71     }
72
73
74 }

如有什么好的建议,请畅所欲言!!!!!

参考链接:http://blog.csdn.net/stellaah/article/details/6738424

原文地址:https://www.cnblogs.com/revel171226/p/8297267.html

时间: 2024-10-25 21:41:16

如何创建一个可以使用try.....catch.......捕获的异常的相关文章

EF提交插入数据catch捕获具体异常方法

try { db.SaveChanges(); } catch (DbEntityValidationException ex) { StringBuilder errors = new StringBuilder(); IEnumerable<DbEntityValidationResult> validationResult = ex.EntityValidationErrors; foreach (DbEntityValidationResult result in validation

创建一个程序读入和显示视频文件,并可以使用滑动条控制视频文件的播放。一个滑动条用来控制视频播放位置,以10为步长跳进。另一个滑动条用来控制停止/播放

/* 创建一个程序读入和显示视频文件,并可以使用滑动条控制视频文件的播放. 一个滑动条用来控制视频播放位置,以10为步长跳进.另一个滑动条用来控制 停止/播放 */ #include <cv.h> #include <highgui.h> int g_slider_position = 0; CvCapture* g_capture = NULL; int index = 0; bool flag = true; int g_slider_position1 = 0; void o

使用PHP创建一个REST API(译)

最近API在网络领域有些风靡,明确的说是REST的影响力.这实在没什么好惊讶的,因为在任何编程语言中,消费REST API都是非常的容易.构建它也非常的简单,因为本质上你不会用到任何那些已存在很久的HTTP细则.由于Rails对REST做出的深思熟虑的支持,包括提供和消费这些API(这已经被所有那些和我共事的Rails狂热者阐述过),我要赞美Rails,这样的事情并不常发生. 说真的,如果你从未使用过REST,但是使用过(或者更糟糕的,构建过)SOAP API,或仅仅开过一个WSDL并且将你报价

创建一个简单的 MDM 服务器(1)

前提:已获得 APNS 证书 ,已完成 MDM 配置描述文件的制作.请参考< MDM 证书申请流程 >一文和<配置MDM Provisioning Profile>. 环境:OSX 10.9.2,JDK 1.6,Eclipse JavaEE Helois,Tomcat 7.0 一.前言 <THE IOS MDMPROTOCOL>(即Inside Apple MDM)一文中描述了一个简单 MDM Server Python 实现(server.py).笔者也曾参照此文配置

文本和输入:创建一个IME:简介

输入法编辑器(IME)是用户可以控制,以让用户输入文本的编辑器. Android提供了一个可扩展的输入法框架,允许应用程序为用户提供替代输入法,如屏幕键盘,甚至语音输入. 安装所需的IME后,用户可以从系统设置中选择要使用的IME,并在整个系统中使用它; 一次只能启用一个IME. 要向Android系统添加IME,您可以创建一个包含扩展InputMethodService类的Android应用程序. 此外,您通常会创建一个将设置传递给IME服务的"设置"活动. 您还可以定义显示为系统设

使用两个 Windows 窗体 DataGridView 控件创建一个主/从窗体

使用 DataGridView 控件的一种最常见方案是"主/详细信息"窗体,这样的窗体可显示两个数据库表之间的父/子关系.如果选择主表中的行,将导致以相应的子数据来更新详细信息表. 主/详细信息窗体很容易实现,这需要使用 DataGridView 控件和 BindingSource 组件之间的交互.在本演练中,将使用两个 DataGridView 控件和两个 BindingSource 组件来生成窗体.窗体将显示 Northwind SQL Server 示例数据库中的两个相关表:Cu

利用django创建一个投票网站(三)

创建你的第一个 Django 项目, 第三部分 这一篇从第二部分(zh)结尾的地方继续讲起.我们将继续编写投票应用,并且聚焦于如何创建公用界面--也被称为"视图". 设计哲学 Django 中的视图的概念是「一类具有相同功能和模板的网页的集合」.比如,在一个博客应用中,你可能会创建如下几个视图: 博客首页--展示最近的几项内容. 内容"详情"页--详细展示某项内容. 以年为单位的归档页--展示选中的年份里各个月份创建的内容. 以月为单位的归档页--展示选中的月份里各

用PHP创建一个REST APi

认真的讲,假如你从来没有使用过REST,却曾经使用过SOAP API,或者只是简单的打开一个令人头大的WSDL文档.小伙子,我确实要带给你一个好消息! 那么,究竟什么是REST?为什么你应该关心? 在我们开始写代码之前,我想要确认每个人都可以很好的理解什么是REST以及它是如何特别适合APIs的.首先,从技术上来讲,REST并不是仅仅特定于APIs应用,它更多的是一个通用的概念.然而,很明显,我们这篇文章所讨论的REST就是在接口应用的环境下.因此,让我们看看一个API的基本要求已经REST如何

Linux如何创建一个新进程

2016-03-31 张超<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 1.我们先阅读理解task_struct数据结构 1235struct task_struct { 1236 volatile long state; /* -1 unrunnable, 0 runnable, >0 stopped */ 1237 void *stack; 1238 atomic_t usage; 1239 uns