• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java Exceptions类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中reactor.core.Exceptions的典型用法代码示例。如果您正苦于以下问题:Java Exceptions类的具体用法?Java Exceptions怎么用?Java Exceptions使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



Exceptions类属于reactor.core包,在下文中一共展示了Exceptions类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: redirect

import reactor.core.Exceptions; //导入依赖的package包/类
void redirect(String to) {
	String[] redirectedFrom = this.redirectedFrom;
	URI from = activeURI;
	try {
		activeURI = new URI(to);
	}
	catch (URISyntaxException e) {
		throw Exceptions.propagate(e);
	}
	if (redirectedFrom == null) {
		this.redirectedFrom = new String[]{from.toString()};
	}
	else {
		String[] newRedirectedFrom = new String[redirectedFrom.length + 1];
		System.arraycopy(redirectedFrom,
				0,
				newRedirectedFrom,
				0,
				redirectedFrom.length);
		newRedirectedFrom[redirectedFrom.length] = from.toString();
		this.redirectedFrom = newRedirectedFrom;
	}
}
 
开发者ID:reactor,项目名称:reactor-netty,代码行数:24,代码来源:MonoHttpClientResponse.java


示例2: afterTerminateCallbackFailureInterruptsOnNextAndThrows

import reactor.core.Exceptions; //导入依赖的package包/类
@Test
public void afterTerminateCallbackFailureInterruptsOnNextAndThrows() {
	LongAdder invoked = new LongAdder();
	try {
		StepVerifier.create(Mono.just("foo")
		                        .doAfterTerminate(() -> {
			                        invoked.increment();
			                        throw new IllegalArgumentException("boom");
		                        }))
		            .expectNext("bar") //irrelevant
		            .expectErrorMessage("baz") //irrelevant
		            .verify();
	}
	catch (Throwable t) {
		Throwable e = Exceptions.unwrap(t);
		assertEquals(IllegalArgumentException.class, e.getClass());
		assertEquals("boom", e.getMessage());
	}

	assertEquals(1, invoked.intValue());
}
 
开发者ID:reactor,项目名称:reactor-core,代码行数:22,代码来源:MonoPeekAfterTest.java


示例3: channelInactive

import reactor.core.Exceptions; //导入依赖的package包/类
@Override
final public void channelInactive(ChannelHandlerContext ctx) throws Exception {
	try {
		ChannelOperations<?, ?> ops = ChannelOperations.get(ctx.channel());
		if (ops != null) {
			ops.onInboundClose();
		}
		else {
			if (lastContext != null) {
				lastContext.terminateChannel(ctx.channel());
				lastContext.fireContextError(new AbortedException());
			}
		}
	}
	catch (Throwable err) {
		Exceptions.throwIfFatal(err);
		exceptionCaught(ctx, err);
	}
}
 
开发者ID:reactor,项目名称:reactor-netty,代码行数:20,代码来源:ChannelOperationsHandler.java


示例4: applyChanges

import reactor.core.Exceptions; //导入依赖的package包/类
final HttpClientFormEncoder applyChanges(HttpRequest request) {
	if (!needNewEncoder) {
		return this;
	}

	try {
		HttpClientFormEncoder encoder = new HttpClientFormEncoder(newFactory,
				request,
				newMultipart,
				newCharset,
				newMode);

		encoder.setBodyHttpDatas(getBodyListAttributes());

		return encoder;
	}
	catch(ErrorDataEncoderException ee){
		throw Exceptions.propagate(ee);
	}
}
 
开发者ID:reactor,项目名称:reactor-netty,代码行数:21,代码来源:HttpClientFormEncoder.java


示例5: websocketUri

import reactor.core.Exceptions; //导入依赖的package包/类
final URI websocketUri() {
	URI uri;
	try {
		String url = uri();
		if (url.startsWith(HttpClient.HTTP_SCHEME) || url.startsWith(HttpClient.WS_SCHEME)) {
			uri = new URI(url);
		}
		else {
			String host = requestHeaders().get(HttpHeaderNames.HOST);
			uri = new URI((isSecure ? HttpClient.WSS_SCHEME :
					HttpClient.WS_SCHEME) + "://" + host + (url.startsWith("/") ?
					url : "/" + url));
		}

	}
	catch (URISyntaxException e) {
		throw Exceptions.bubble(e);
	}
	return uri;
}
 
开发者ID:reactor,项目名称:reactor-netty,代码行数:21,代码来源:HttpClientOperations.java


示例6: apply

import reactor.core.Exceptions; //导入依赖的package包/类
@Override
public Publisher<Void> apply(HttpServerRequest request, HttpServerResponse response) {
	final Iterator<HttpRouteHandler> iterator = handlers.iterator();
	HttpRouteHandler cursor;

	try {
		while (iterator.hasNext()) {
			cursor = iterator.next();
			if (cursor.test(request)) {
				return cursor.apply(request, response);
			}
		}
	}
	catch (Throwable t) {
		Exceptions.throwIfFatal(t);
		return Mono.error(t); //500
	}

	return response.sendNotFound();
}
 
开发者ID:reactor,项目名称:reactor-netty,代码行数:21,代码来源:DefaultHttpServerRoutes.java


示例7: queryAsync

import reactor.core.Exceptions; //导入依赖的package包/类
public Flux<JsonElement> queryAsync(JsonObject query) {
  return Flux.just(query)
      .map(q -> validate(q))
      .flatMap(
          s -> {
            Flux<JsonElement> obs = null;
            if ("valid".equals(s)) {
              JsonElement from = query.get("from");
              obs =
                  jsonLever.isArray(from)
                      ? queryAsync(from.getAsJsonArray(), query)
                      : queryAsync(from.getAsJsonObject(), query);
            } else {
              Exceptions.propagate(new Throwable(s));
            }
            return obs;
          });
}
 
开发者ID:balajeetm,项目名称:json-mystique,代码行数:19,代码来源:JsonQuery.java


示例8: onNext

import reactor.core.Exceptions; //导入依赖的package包/类
@Override
public void onNext(U t) {
	SampleMainSubscriber<T> m = main;

	T v = m.getAndNullValue();

	if (v != null) {
		if (m.requested != 0L) {
			m.actual.onNext(v);

			if (m.requested != Long.MAX_VALUE) {
				m.decrement();
			}
			return;
		}

		m.cancel();

		m.actual.onError(Exceptions.failWithOverflow("Can't signal value due to lack of requests"));
	}
}
 
开发者ID:reactor,项目名称:reactor-core,代码行数:22,代码来源:FluxSample.java


示例9: checkTerminated

import reactor.core.Exceptions; //导入依赖的package包/类
boolean checkTerminated(boolean d, boolean empty, Subscriber<?> a, Queue<?> q) {
	if (cancelled) {
		q.clear();
		return true;
	}
	if (d) {
		Throwable e = Exceptions.terminate(ERROR, this);
		if (e != null && e != Exceptions.TERMINATED) {
			cancel();

			q.clear();

			a.onError(e);
			return true;
		}
		else if (empty) {

			a.onComplete();
			return true;
		}
	}
	return false;
}
 
开发者ID:reactor,项目名称:reactor-core,代码行数:24,代码来源:FluxSampleTimeout.java


示例10: onSignal

import reactor.core.Exceptions; //导入依赖的package包/类
boolean onSignal(Signal<T> actualSignal) {
	SignalEvent<T> signalEvent = (SignalEvent<T>) this.script.poll();
	Optional<AssertionError> error = signalEvent.test(actualSignal);
	if (error.isPresent()) {
		Exceptions.addThrowable(ERRORS, this, error.get());
		// #55 ensure the onError is added as a suppressed to the AssertionError
		if(actualSignal.isOnError()) {
			error.get().addSuppressed(actualSignal.getThrowable());
		}
		maybeCancel(actualSignal);
		this.completeLatch.countDown();
		return true;
	}
	if (actualSignal.isOnNext()) {
		unasserted--;
	}
	return false;
}
 
开发者ID:reactor,项目名称:reactor-core,代码行数:19,代码来源:DefaultStepVerifierBuilder.java


示例11: onSignalCount

import reactor.core.Exceptions; //导入依赖的package包/类
final boolean onSignalCount(Signal<T> actualSignal, SignalCountEvent<T> event) {
	if (unasserted >= event.count) {
		this.script.poll();
		unasserted -= event.count;
	}
	else {
		if (event.count != 0) {
			Optional<AssertionError> error =
					this.checkCountMismatch(event, actualSignal);

			if (error.isPresent()) {
				Exceptions.addThrowable(ERRORS, this, error.get());
				if(actualSignal.isOnError()) {
					// #55 ensure the onError is added as a suppressed to the AssertionError
					error.get().addSuppressed(actualSignal.getThrowable());
				}
				maybeCancel(actualSignal);
				this.completeLatch.countDown();
			}
		}
		return true;
	}
	return false;
}
 
开发者ID:reactor,项目名称:reactor-core,代码行数:25,代码来源:DefaultStepVerifierBuilder.java


示例12: completeCallbackError

import reactor.core.Exceptions; //导入依赖的package包/类
@Test
public void completeCallbackError() {
	AssertSubscriber<Integer> ts = AssertSubscriber.create();
	LongAdder state = new LongAdder();

	Throwable err = new Exception("test");

	Flux.just(1)
	    .doOnEach(s -> {
		    if (s.isOnComplete()) {
			    state.increment();
			    throw Exceptions.propagate(err);
		    }
	    })
	    .subscribe(ts);

	ts.assertErrorMessage("test");
	Assert.assertEquals(1, state.intValue());
}
 
开发者ID:reactor,项目名称:reactor-core,代码行数:20,代码来源:FluxDoOnEachTest.java


示例13: onError

import reactor.core.Exceptions; //导入依赖的package包/类
@Override
public void onError(Throwable t) {
	if (!second) {
		second = true;

		Publisher<? extends T> p;

		try {
			p = Objects.requireNonNull(nextFactory.apply(t),
			"The nextFactory returned a null Publisher");
		}
		catch (Throwable e) {
			Throwable _e = Operators.onOperatorError(e, actual.currentContext());
			_e = Exceptions.addSuppressed(_e, t);
			actual.onError(_e);
			return;
		}
		p.subscribe(this);
	}
	else {
		actual.onError(t);
	}
}
 
开发者ID:reactor,项目名称:reactor-core,代码行数:24,代码来源:FluxOnErrorResume.java


示例14: onError

import reactor.core.Exceptions; //导入依赖的package包/类
@Override
public void onError(Throwable t) {
	if (Exceptions.addThrowable(ERROR, this, t)) {
		inner.cancel();

		if (GUARD.getAndIncrement(this) == 0) {
			t = Exceptions.terminate(ERROR, this);
			if (t != TERMINATED) {
				actual.onError(t);
			}
		}
	}
	else {
		Operators.onErrorDropped(t, actual.currentContext());
	}
}
 
开发者ID:reactor,项目名称:reactor-core,代码行数:17,代码来源:FluxConcatMap.java


示例15: onNext

import reactor.core.Exceptions; //导入依赖的package包/类
public void onNext(T t) {
	Subscriber<? super T> a = actual;

	if (!queue.offer(t)) {
		onError(Operators.onOperatorError(this, Exceptions.failWithOverflow(Exceptions.BACKPRESSURE_ERROR_QUEUE_FULL), t,
				actual.currentContext()));
		return;
	}
	if (enableOperatorFusion) {
		if (a != null) {
			a.onNext(null); // in op-fusion, onNext(null) is the indicator of more data
		}
	}
	else {
		drain();
	}
}
 
开发者ID:reactor,项目名称:reactor-core,代码行数:18,代码来源:FluxWindowPredicate.java


示例16: emit

import reactor.core.Exceptions; //导入依赖的package包/类
boolean emit(C b) {
	long r = requested;
	if (r != 0L) {
		actual.onNext(b);
		if (r != Long.MAX_VALUE) {
			REQUESTED.decrementAndGet(this);
		}
		return true;
	}
	else {
		actual.onError(Operators.onOperatorError(this, Exceptions
				.failWithOverflow(), b, actual.currentContext()));

		return false;
	}
}
 
开发者ID:reactor,项目名称:reactor-core,代码行数:17,代码来源:FluxBufferBoundary.java


示例17: onError

import reactor.core.Exceptions; //导入依赖的package包/类
@Override
public void onError(Throwable t) {
	if (done) {
		Operators.onErrorDropped(t, cachedContext);
		return;
	}
	done = true;
	try {
		//noinspection ConstantConditions
		onSignal.accept(Signal.error(t, cachedContext));
	}
	catch (Throwable e) {
		//this performs a throwIfFatal or suppresses t in e
		t = Operators.onOperatorError(null, e, t, cachedContext);
	}

	try {
		actual.onError(t);
	}
	catch (UnsupportedOperationException use) {
		if (!Exceptions.isErrorCallbackNotImplemented(use) && use.getCause() != t) {
			throw use;
		}
		//ignore if missing callback
	}
}
 
开发者ID:reactor,项目名称:reactor-core,代码行数:27,代码来源:FluxDoOnEach.java


示例18: callbackThrows

import reactor.core.Exceptions; //导入依赖的package包/类
@Test
public void callbackThrows() {
	try {
		StepVerifier.create(Flux.just(1)
		                        .doFinally(signal -> {
			                        throw new IllegalStateException();
		                        }))
		            .expectNext(1)
		            .expectComplete()
		            .verify();
	}
	catch (Throwable e) {
		Throwable _e = Exceptions.unwrap(e);
		assertNotSame(e, _e);
		assertThat(_e, is(instanceOf(IllegalStateException.class)));
	}
}
 
开发者ID:reactor,项目名称:reactor-core,代码行数:18,代码来源:FluxDoFinallyTest.java


示例19: oneRetry

import reactor.core.Exceptions; //导入依赖的package包/类
@Test
public void oneRetry() {
	AssertSubscriber<Integer> ts = AssertSubscriber.create();

	AtomicInteger i = new AtomicInteger();
	Mono.fromCallable(() -> {
		int _i = i.getAndIncrement();
		if (_i < 1) {
			throw Exceptions.propagate(new RuntimeException("forced failure"));
		}
		return _i;
	})
	    .retry(1)
	    .subscribe(ts);

	ts.assertValues(1)
	  .assertComplete()
	  .assertNoError();
}
 
开发者ID:reactor,项目名称:reactor-core,代码行数:20,代码来源:MonoRetryTest.java


示例20: onNext

import reactor.core.Exceptions; //导入依赖的package包/类
public void onNext(V t) {
	Subscriber<? super V> a = actual;

	if (!queue.offer(t)) {
		onError(Operators.onOperatorError(this, Exceptions.failWithOverflow(Exceptions.BACKPRESSURE_ERROR_QUEUE_FULL), t,
				actual.currentContext()));
		return;
	}
	if (outputFused) {
		if (a != null) {
			a.onNext(null); // in op-fusion, onNext(null) is the indicator of more data
		}
	}
	else {
		drain();
	}
}
 
开发者ID:reactor,项目名称:reactor-core,代码行数:18,代码来源:FluxGroupBy.java



注:本文中的reactor.core.Exceptions类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java DirectoryDiff类代码示例发布时间:2022-05-22
下一篇:
Java OptionsEditor类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap