一、服务端发布服务

package com.webservice;

import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService; @WebService
public interface IExceptionService { @WebResult(name = "addResult")
public int add(@WebParam(name = "x")
int x, @WebParam(name = "y")
int y) throws Exception; @WebResult(name = "subtractResult")
public int subtract(@WebParam(name = "x")
int x, @WebParam(name = "y")
int y) throws RuntimeException; @WebResult(name = "divideResult")
public int divide(@WebParam(name = "x")
int x, @WebParam(name = "y")
int y) throws DivideException;
}
package com.webservice;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date; import javax.jws.WebService; @WebService(endpointInterface = "com.webservice.IExceptionService")
public class ExceptionImpl implements IExceptionService { public int add(int x, int y) throws Exception {
if (x == 0 || y == 0) {
throw new Exception("add中Exception====X或者Y不能为0");
} else {
return x + y;
}
} public int subtract(int x, int y) throws RuntimeException {
if (x == 0 || y == 0) {
throw new RuntimeException("subtract中RunTimeException===X或者Y不能为0");
} else {
return x + y;
}
} public int divide(int x, int y) throws DivideException {
if (x == 0 || y == 0) {
throw new DivideException("divide中DivideException===X或者Y不能为0");
} else {
return x + y;
}
} }
  •   自定义异常
package com.webservice;

public class DivideException extends Exception {

    public DivideException() {
super();
} public DivideException(String arg0, Throwable arg1, boolean arg2,
boolean arg3) {
super(arg0, arg1, arg2, arg3);
} public DivideException(String arg0, Throwable arg1) {
super(arg0, arg1);
} public DivideException(String arg0) {
super(arg0);
} public DivideException(Throwable arg0) {
super(arg0);
} }
package com.publish;

import javax.xml.ws.Endpoint;

import com.webservice.BeanImpl;
import com.webservice.DateImpl;
import com.webservice.ExceptionImpl;
import com.webservice.ListImpl;
import com.webservice.MapImpl;
import com.webservice.StrImpl; public class TestPublish {
public static void main(String[] args) { Endpoint.publish("http://localhost:9090/ExceptionService",
new ExceptionImpl());
System.out.println("发布成功...");
}
}

二、客户端

package com.exception;

public class TestMain {
public static void main(String[] args) {
//TestMain.add(); // TestMain.subtract(); TestMain.divide();
} private static void add() {
// 服务端没有异常
// 客户端:com.exception.Exception_Exception
IExceptionService exceptionService = new ExceptionImplService()
.getExceptionImplPort(); try {
exceptionService.add(1, 0);
} catch (Exception_Exception e) {
Exception exception = e.getFaultInfo(); String server_msg = exception.getMessage(); System.out.println(server_msg); e.printStackTrace(); } } private static void subtract() {
// 服务端的异常:java.lang.RuntimeException
// 客户端的异常:javax.xml.ws.soap.SOAPFaultException
IExceptionService exceptionService = new ExceptionImplService()
.getExceptionImplPort(); exceptionService.subtract(3, 0);
} private static void divide() {
IExceptionService exceptionService = new ExceptionImplService()
.getExceptionImplPort(); try {
exceptionService.divide(1, 0);
} catch (DivideException_Exception e) {
System.out.println(e.getFaultInfo().getMessage());
e.printStackTrace();
} } }

(五)web服务中的异常处理的更多相关文章

  1. ASP.NET Web API 中的异常处理(转载)

    转载地址:ASP.NET Web API 中的异常处理

  2. 【ASP.NET Web API教程】4.3 ASP.NET Web API中的异常处理

    原文:[ASP.NET Web API教程]4.3 ASP.NET Web API中的异常处理 注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本系列教程,请先看前面的内 ...

  3. web应用中的异常处理

    楼主前几天写了一篇“Java子线程中的异常处理(通用)”文章,介绍了在多线程环境下3种通用的异常处理方法. 但是平时大家的工作一般是基于开发框架进行的(比如Spring MVC,或Spring Boo ...

  4. Web服务中延时对QoE(体验质量)的影响

    S. Egger等人在论文<WAITING TIMES IN QUALITY OF EXPERIENCE FOR WEB BASED SERVICES>中,研究了Web服务中延时对主观感受 ...

  5. 2017.10.28 针对Java Web应用中错误异常处理方法的运用

    针对Java Web应用中错误异常处理方法的运用 在javaweb中其异常都需要对Checked Exception之下的Exception进行继承,并且有选择地对发生的错误和异常进行处理.Java同 ...

  6. REST服务中的异常处理

    在REST服务中,服务端如果产生了异常信息,无论是业务异常或是系统异常,如果直接将异常抛出,在客户端浏览器中,是无法获取异常的详细,只能获取一个StateCode 500 Internal Serve ...

  7. 第五章 python中的异常处理

    每种编程语言都会有自己的异常处理机制,虽然各有特色,但基本上都差不多,那么python中强大异常处理机制是什么样的呢? 一.异常: python用异常对象来表示异常情况,遇到错误后,会引发异常.如果异 ...

  8. 【Web】Web开发中的异常处理方案

    我认为最合理的做法: 1.dao层不捕获异常.不抛出异常:spring框架将底层的数据库checked异常封装成unchecked异常了 2.service层捕获异常,并抛出自定义unchecked异 ...

  9. 在 ASP.NET Core Web API中使用 Polly 构建弹性容错的微服务

    在 ASP.NET Core Web API中使用 Polly 构建弹性容错的微服务 https://procodeguide.com/programming/polly-in-aspnet-core ...

随机推荐

  1. Redis Desktop Manager的下载及安装

    一.下载Redis Desktop Manager 1. Redis Desktop Manager 的下载路径 (1)https://pan.baidu.com/s/1Jvr9MbgFn4UJh4M ...

  2. DataSync 异构数据同步

    RAC, Data Gurad, Stream 是Oracle 高可用性体系中的三种工具,每个工具即可以独立应用,也可以相互配合. 他们各自的侧重点不同,适用场景也不同. RAC 它的强项在于解决单点 ...

  3. SQL-W3School-函数:SQL LAST() 函数

    ylbtech-SQL-W3School-函数:SQL LAST() 函数 1.返回顶部 1. LAST() 函数 LAST() 函数返回指定的字段中最后一个记录的值. 提示:可使用 ORDER BY ...

  4. linux性能监控 -CPU、Memory、IO、Network等指标的讲解

    [操作系统-linux]linux性能监控 -CPU.Memory.IO.Network等指标的讲解(转) 一.CPU 1.良好状态指标 CPU利用率:User Time <= 70%,Syst ...

  5. jenkins参数化构建&HTML报告

    背景: 每次构建项目时都需要去修改一下配置,然后保存,再去立即构建.这样修改容易修改出错误,影响到执行脚本,且每次都要去修改配置,不容易修改,操作也比较麻烦.所以决定将Jenkins修改为参数化构建. ...

  6. 123457123456#0#-----com.twoapp.YiZhiFanPai08--前拼后广--儿童益智记忆翻牌jiemei

    com.twoapp.YiZhiFanPai08--前拼后广--儿童益智记忆翻牌jiemei

  7. SpringCloud学习成长之 十一 Docker部署cloud项目

    一.docker简介 Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机). ...

  8. C# winform中使用Panel调节窗口变化是各控件的位置(转)

    我的目的是在窗口上有些控件,在窗口大小变化时,上面的控件位置不动,大小也不动.下面的控件随着窗口的大小变化而变大. 做法是用两个panel,panelTop和panelFill.上面的控件都放到pan ...

  9. thymeleaf中switch case多出一个空行

    以下是<thymeleaf3.0.5中文参考手册.pdf>中的代码,官方代码没有具体去查询. <div th:switch="${user.role}"> ...

  10. NodeJs本地搭建服务器,模拟接口请求,获取json数据

    最近在学习Node.js,虽然就感觉学了点皮毛,感觉这个语言还不错,并且也会一步步慢慢的学着的,这里实现下NodeJs本地搭建服务器,模拟接口请求,获取json数据. 具体的使用我就不写了,这个博客写 ...