怎样抛出自己定义的异常

继承Exception类

public class MyFirstException extends Exception{

    public MyFirstException(){

    }
    public MyFirstException(String msg){
        super(msg);
    }
    public MyFirstException(String msg,Throwable cause){
        super(msg,cause);
    }
    public MyFirstException(Throwable cause){
        super(cause);
    }

}

继承Throwable类

public class MySecondException extends Throwable{

    public MySecondException(){

    }
    public MySecondException(String msg){
        super(msg);
    }
    public MySecondException(String msg,Throwable cause){
        super(msg,cause);
    }
    public MySecondException(Throwable cause){
        super(cause);
    }

}

插曲:

方法里中有throw的时候,方法名一定要有throws抛出异常

果然第一行抛出异常后就停止了,第二行TestOneTwoException.secondException()没有执行

回来:

1.要有自己定义的异常类

2.要有方法抛出了这个异常,下面的firstException()和secondException()

3.有调用这个方法TestOneTwoException.firstException()

public class TestOneTwoException {

    public static void firstException() throws MyFirstException{
        throw new MyFirstException("First异常");
    }

    public static void secondException() throws MySecondException{
        throw new MySecondException("Second异常");
    }

    public static void main(String[] args) {
        try {
            TestOneTwoException.firstException();
        } catch (MyFirstException e) {
            // TODO: handle exception
            System.out.println("11111"+e);
        } 

        try {
            TestOneTwoException.secondException();
        }catch(MySecondException e){

            System.out.println("22222"+e);

        }
    }

}

时间: 2024-12-27 08:36:01

怎样抛出自己定义的异常的相关文章

PLSQL_Oracle Exception异常分类、异常抛出、异常处理、异常传播(概念)

2014-06-03 BaoXinjian 一.摘要 在PLSQL程序开发过程中,很重要的部分就是对程序异常的监控和处理,包括如何触发异常,何时进行处理,如何进行处理,是否将程式中的所有异常集中在一起,通过公共异常处理的procedure或function,如果没有完善的程式处理机制,很难说该程式是一只健壮的程式,当程式遇到很多类型或者量很多资料时,系统若没有异常处理必然会导致程式的出错 当预判到了某些异常,需要对预判到的异常进行合适相应的处理,是否抛出异常还是忽略还是其他 当然程式没有预判到或

【Servlet+Struts2】文件下载时抛出java.lang.IllegalStateException异常的解决方法

java.lang.IllegalStateException这种异常,不代表文件不能下载,不代表程序写错,它在Tomcat抛出完异常之后依然能够正常运行的.只是看着不爽而已,每次下载都要在Tomcat抛出一大堆异常. java.lang.IllegalStateException主要是用了后台把文件丢进respond的缓冲区,然后respond再把下载的文件扔回JSP的情况所造成的.Servlet与Struts2反正是JSP都有可能存在.其主要原因JSP在对缓冲区读,后台JAVA在对缓冲写所导

FtpClient 调用storeFile 抛出 java.net.SocketException异常

在使用换了commons-net 的 FTPClient 调用storeFile方法时报错, 调用 res = ftp.storeFile(remoteFileName, inputStream);后返回true,并且文件能正常上传,但是抛出java.net.SocketException: Socket closed异常. 解决: 更新commons-net  jar包,从3.0升到3.4 该问题消失了. 原文地址:https://www.cnblogs.com/Allen-win/p/106

LOV抛出值无效的异常

在选择LOV中的行返回之后,点击提交的时候始终报值无效的异常. 症状:LOV中有值为   XXX项目,XXX项目(一期) 的时候,当你选择XXX项目一期再进行提交,老是报出值无效的异常. 解决方式:在页面上的LOV中多加入一个唯一性ID的东西作为Criteria Item,建立映射关系,即可解决此问题. 原因,在提交的时候,OAF框架本身会通过Criteria Item去对LOV结果集中的值再进行一次验证,若结果不唯一,则报出值无效的异常.

java中异常处理机制 throw抛出自定义业务逻辑异常 throws继续抛出 catch捕获后会自动继续抛向调用方法

package com.swift; public class Exception_TestC { public static void main(String[] args) { /* * 第5题: 有一个类为ClassA,有一个类为ClassB,在ClassB中有一个方法b,此方法抛出异常,在ClassA类中有一个 * 方法a,请在这个方法中调用b,然后抛出异常.在客户端有一个类为TestC,有一个方法为c ,请在这个方法中捕 捉异常的信息.Java异常的处理机制 * * 如果try或cat

Java中抛出的各种异常

目录(?)[-] 引子 JAVA异常 处理异常机制 捕获异常trycatch 和 finally try-catch语句 trycatch-finally语句 try-catch-finally 规则异常处理语句的语法规则 trycatchfinally语句块的执行顺序 抛出异常 throws抛出异常 使用throw抛出异常 Throwable类中的常用方法 Java常见异常 runtimeException子类 IOException 其他 自定义异常 1. 引子 try…catch…fina

异常何时抛出?何时自己处理?

原始问题: 关于异常中,何时在该类中处理,何时抛给调用类处理,比较纠结.比如IO中new FileInputStream(),new InputStreamReader(fStream, "UTF-8");in.readLine()等他们异常哪些本类中处理,还是都抛给调用者. 讨论: 李:其实对于方法中的异常处理有两种方法:1.在该函数中用try...catch语句进行捕获和处理.2.直接抛出异常(这种做法有一点模糊,因为并不能确定该方法是否有异常),那么调用该方法的调用者就要处理这个

More Effective C++----(12)理解"抛出一个异常"与"传递一个参数"或"调用一个虚函数"间的差异

Item M12:理解"抛出一个异常"与"传递一个参数"或"调用一个虚函数"间的差异 从语法上看,在函数里声明参数与在catch子句中声明参数几乎没有什么差别: class Widget { ... }; //一个类,具体是什么类 // 在这里并不重要 void f1(Widget w); // 一些函数,其参数分别为 void f2(Widget& w); // Widget, Widget&,或 void f3(const W

(转)spring异常抛出触发事务回滚策略

背景:在面试时候问到事务方法在调用过程中出现异常,是否会传递的问题,平时接触的比较少,有些懵逼. spring异常抛出触发事务回滚策略 Spring.EJB的声明式事务默认情况下都是在抛出unchecked exception后才会触发事务的回滚 测试用业务逻辑方法: /** * 如果在spring事务配置中不为切入点(如这里的切入点可以定义成test*)配置事务在什么情况下回滚(格式:-引起回滚的异常类型) * 则spring默认只会在service方法抛出unchecked exceptio