自定义异常类怎么写

自定义异常怎么写

1.JAVA 自定义异常是怎么使用的

在别的方法可能抛你这个异常的时候。你在这个方法上面加一个 throws MyException

然后在可能发生异常的代码里面写throw new MyException();

比如说 你写了个除法的方法。.. chufa(int a, int b)

当b == 0 的时候你可以这样

if(b == 0){

throw new MyException("除数不能为0");

}

这样就抛出了你自己的异常来提示错误信息..

2.C++自定义的类成员函数,怎么自定义异常

try

{

int *p = new int[10];

if (!p)

throw 1;

}

catch(int)

{

cout<<"error";

}

自定义异常就是把可能出错的地方用try, 然后在try里如果检测到异常, 用throw抛出一个异常, 为了区别异常, 用类型区别, 因为一个try里可能有多个错误类型.

然后用catch把相对应的类型接收, 然后执行相对应的代码.

这里抛出的类型只是为了作区别, 没多大的实际用处. 不过你可以:

catch(int i)

{

cout<<i<<endl;

}

这样会输出1

3.如何编写和应用Java的自定义异常类

编写自定义异常类实际上是继承一个API标准异常类,用新定义的异常处理信息覆盖原有信息的过程。

常用的编写自定义异常类的模式如下:public class CustomException extends Exception { //或者继承任何标准异常类 public CustomException() {} //用来创建无参数对象 public CustomException(String message) { //用来创建指定参数对象 super(message); //调用超类构造器 } 当然也可选用Throwable作为超类。其中无参数构造器为创建缺省参数对象提供了方便。

第二个构造器将在创建这个异常对象时提供描述这个异常信息的字符串,通过调用超类构造器向上传递给超类,对超类中的toString()方法中返回的原有信息进行覆盖。来讨论一个具体例子。

假设程序中需要验证用户输入的表示年龄的数据必须是正整数值。我们可以按照以上模式编写这个自定义异常类如下: public class NegativeAgeException extends Exception { //或者:extends Throwable public NegativeAgeException() {} public NegativeAgeException(String message) { super(message); }} 下面是应用这个自定义异常类的例子: //完整程序存在本书配套资源目录为Ch11中名为.java。

try{ String ageString = JOptionPane.showInputDialog("Enter your age: "); if (Integer.parseInt(ageString) < 0) throw new NegativeAgeException("Please enter a positive age"); else JOptionPane.showMessageDialog(null, ageString, "Age", 1);}catch(NegativeAgeException e){ System.out.println(e);}。 或者,可以创建一个缺省对象,然后在catch中打印具体信息,如: throw new NegativeAgeException(); 。

catch (NegativeAgeException e) { System.out.println("Please enter a positive age"); 将产生与第一个例子相同的效果。11.7.2 自定义异常处理 无论是利用标准API异常类来处理特殊的异常,或者编写自定义的异常类来达到同样目的,问题的关键是:<!--[if !supportLists]-->1. 当这个异常发生时,如何及时捕获这个异常。

<!--[if !supportLists]-->2. 捕获这个异常后,如何产生精确的异常处理信息。 毋庸置疑,我们不可能期待JVM自动抛出一个自定义异常,也不能够期待JVM会自动处理一个自定义异常。

发现异常、抛出异常以及处理异常的工作必须靠编程人员在代码中利用异常处理机制自己完成。一般情况下,发现和抛出一个自定义异常通过在try程序块中利用if和throw语句完成,即: try { 。

if (someExceptionConditon == true) { throw new CustomException("A custom exception xxx occurred. Please check your entry。") 。

}catch (CustomException e) { 。} 而打印异常处理信息可以在抛出时包括在构造器的参数中,或者包括在处理这个异常的catch中。

另外应该注意在自定义异常发生之前,有可能产生标准异常的情况。例如,在一个需要验证年龄必须是正整数值的程序中,利用自定义异常类,如NegativeAgeException,验证输入的年龄是否正整数,即: try { 。

if (Integer.parseInt(ageString) < 0) throw NegativeAgeException("Please enter a positive age"); else 。 } catch (NumberFormatException e) { System.out.println(e); } catch (NegativeAgeException e) { System.out.println(e); } 。

注意在这个代码中,如果ageString是非法整数字符串,如“25ab”,系统将首先抛出NumberFormatException,而不会执行throw NegativeAgeException("Please enter a positive age")。所以应该在catch中加入对NumberFormatException的处理,如以上代码所示。

4.如何编写java中的自定义异常类

public class MwException extends Exception{

public MwException(String msg)

{

super(msg);

}

public MwException(Throwable thMsg)

{

super(thMsg);

}

public MwException(String errMsg,Throwable expMsg)

{

super(errMsg,expMsg);

}

}

5.Java自定义异常类

public void MyException extends Exception{

public MyExceprion(){

System.out.println("自定义异常");

}

}

public class Exam{

public static void mul() throws MyException{

if(自己写条件){

throw new MyException();

}

}

}

这个应该能看懂吧,我只是写了个结构没写完整程序的,你看懂这个就行,定义一个自定义异常,然后在你需要的地方抛出异常,在主方法中调用方法的时候达到一定条件就会抛出异常

6.自己自定义了一个异常后怎么调用呢

1)先定义一个类继承Exception(或者别的RuntimeException等);

2)然后写个方法可能抛出这个异常,并且什么情况下会抛出异常;

3)调用这个方法,写try,catch语句,捕获这个异常;

小例子,你参考看下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

class UserNotFoundException extends RuntimeException {

public UserNotFoundException() {}

public UserNotFoundException(String message) {

super(message);

}

public void f() throws UserNotFoundException {

throw new UserNotFoundException("用户名不对");

}

}

public class Exception {

public static void main(String args[]) {

try {

new UserNotFoundException().f();

} catch (UserNotFoundException e) {

System.out.println(e.getMessage());

}

}

}

7.在JAVA中,用户程序如何自定义异常

/**

* class名:NewException

* class说明:在JAVA中,用户程序如何自定义异常?编程实现一个用户自定义异常

* @author Jr

*

*/

public class NewException extends Exception{

public NewException() {

super();

// TODO Auto-generated constructor stub

}

public NewException(String message, Throwable cause) {

super(message, cause);

// TODO Auto-generated constructor stub

}

public NewException(String message) {

super(message);

// TODO Auto-generated constructor stub

}

public NewException(Throwable cause) {

super(cause);

// TODO Auto-generated constructor stub

}

}

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

/**

* class名:ExceptionTest

* class说明:制造一个异常,来测试NewException类

* @author Jr

*

*/

public class ExceptionTest {

public static void main(String[] args) throws NewException {

System.out.println("开始正常");

try {

String str = null;

str.length();//将抛出异常

System.out.println("结束正常");

} catch (Exception e) {

e.printStackTrace();

throw new NewException("str.length()出现异常", e);

} finally{

}

}

}

自己定义一个异常只需继承(extends)Exception这个类或者Throwable这个类,然后继承父类的构造器就可以了

自定义异常怎么写

转载请注明出处育才学习网 » 自定义异常类怎么写

知识

罗梅芬用日文怎么写(罗钰潇日语怎么写)

阅读(21425)

本文主要为您介绍罗梅芬用日文怎么写,内容包括伊蕾娜日语怎么写,王雪菲用日文怎么说,张佳怡在日语中怎么写啊怎么读啊。罗 ら ラ ra钰 ぎょく ギョク gyoku潇 しょう シヨウ shou第一列:日语汉字,写法同汉字,都要用繁体,这三个都挺难写的,看

知识

邓先生的英文怎么写(1~40的英文怎么说)

阅读(10440)

本文主要为您介绍邓先生的英文怎么写,内容包括“邓先生”用英语怎么写,1~40的英文怎么说,漂亮英文beautiful缩写怎么写。1 one 2 two 3 three 4 four 5 five 6 six 7 seven 8 eight 8 nine 10 te

知识

一个人布满皱纹怎么写(描写人物皱纹的句子)

阅读(9516)

本文主要为您介绍一个人布满皱纹怎么写,内容包括描写人物皱纹的句子,描写人物皱纹的句子,皱纹怎么描写。、老人脸上布满了皱纹,那一条条曲折不均的像是墙上斑驳的印迹,爬满了面容,留下了岁月的痕迹。2、外祖父是一位年过六旬的白发老人。在他

知识

登录接口怎么写(php登录的接口怎么写)

阅读(7760)

本文主要为您介绍登录接口怎么写,内容包括php登录的接口怎么写,网页登陆接口怎么做,网站登录接口程序怎么做。PHP 接口 接口 使用接口(interface),你可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容。我们可以通过int

知识

档案奖惩情况怎么写(奖惩情况怎么写)

阅读(9601)

本文主要为您介绍档案奖惩情况怎么写,内容包括奖惩情况怎么写,个人简历及奖惩情况怎么填写,个人简历里面奖惩情况怎么写。在简历里的“奖励”部分,列出与你所获得的并与你的求职目标相关的荣誉、奖励和奖金。你既可以按时间顺序排列,也可以按

知识

头孢克肟拼音怎么写(头孢克肟的肟念什么)

阅读(8001)

本文主要为您介绍头孢克肟拼音怎么写,内容包括头孢克肟片全名拼音,头孢克肟片全名拼音,头孢克肟的肟念什么。肟[wò] :是含有羰基的醛、酮类化合物与羟胺作用而生成的有机化合物,可以参与许多有机化学反应,例如经典的Beckmann重排就是肟为底

知识

一库搜用日语怎么写(日语一库是什么意思)

阅读(7989)

本文主要为您介绍一库搜用日语怎么写,内容包括日语大神来,看动漫里的主人公说一句:恰,一库搜这是什么意思,一库一库;一搜库这两个日语是什么意思怎么写,看片都有“一库”(日语)是什么意。一库的意思就是“出发,出去”的意思。日语「行く」的音译

知识

外租无人机广告怎么写(植保无人机广告语)

阅读(7000)

本文主要为您介绍外租无人机广告怎么写,内容包括求一个无人机创意广告词谢谢巨友们了,求一关于无人机的广告标语,求一关于无人机的广告标语我们公司是做无人机的,新成立的公司,求。DJI大疆创新研发的的MG-1农业植保机专为农村作业环境设计,

知识

河南话que怎么写(河南话的nenna怎么写)

阅读(6531)

本文主要为您介绍河南话que怎么写,内容包括que怎么写,河南话的nenna怎么写,que怎么写。尿一壶(niào yī hú)关系密切,观点一致。例:“他俩今天尿一壶啦。”●尿(niào)⑴、从尿道排泄的液体。⑵、排泄小便。⑶、不放

知识

国学经文的论文怎么写(国学征文该怎么写)

阅读(7114)

本文主要为您介绍国学经文的论文怎么写,内容包括国学征文该怎么写,弟子规的400论文,关于国学经典的征文怎么写。“子曰:“温故而知新,可以为师”……小时,总是觉得国学就是没用的,古人写的话,我们还需要背,每次老师教给我们时,我总是会让思想开一

知识

化学实验总结怎么写(化学实验报告小结怎么写)

阅读(5397)

本文主要为您介绍化学实验总结怎么写,内容包括化学实验总结怎么写,化学实验报告小结怎么写,化学实验小结怎么写。化学实验报告的书写: 一般情况下化学实验报告是根据实验步骤和顺序从七方面展开来写的: 1.实验目的:即本次实验所要达到的目标或

知识

蝴蝶豌豆拼音怎么写(豌豆的拼音是什么)

阅读(5826)

本文主要为您介绍蝴蝶豌豆拼音怎么写,内容包括蝴蝶怎么拼音的,豌豆的拼音是什么,蝴蝶的拼音是什么。豌豆的拼音是[wān dòu]。豌豆是豆科一年生攀援草本,高0.5-2米。全株绿色,光滑无毛,被粉霜。叶具小叶4-6片,托叶心形,下缘具

知识

海绵宝宝用英文怎么说(海绵宝宝用英文怎么说)

阅读(6510)

本文主要为您介绍海绵宝宝用英文怎么说,内容包括海绵宝宝用英语怎么说,海绵宝宝用英文怎么说,海绵宝宝英文名是什么。1. SPONGEBOB SQUAREPANTS 近期很夯的一步卡通影片《海绵宝宝》(SpongeBob SquarePants)是一系

知识

茶盏怎么用(茶盏在茶道中干嘛用)

阅读(5422)

本文主要为您介绍茶盏怎么用,内容包括茶盏怎么用我要写一篇200字左右的茶盏的使用说明,求指教,茶盏在茶道中干嘛用,问一下斗笠盏如何使用现在是不是很少有人使用它,它的意义。苏东坡的名句"从来佳茗似佳人",典型地代表了唐宋及以后的文人墨客,

知识

thinkpad小红点怎么用(怎么学习使用thinkpad小红点)

阅读(7582)

本文主要为您介绍thinkpad小红点怎么用,内容包括怎么学习使用thinkpad小红点,thinkpad小红点怎么用,求教:THINKPAD的小红点使用方法。Thinkpad 小红点最高效的使用方法为:左手拇指按左键,无操作时在左键待命2、右手拇指按右键,同时兼按空格键及