在函数外部创建自己的警告消息?

时间:2017-02-17 15:37:15

标签: r warnings

这应该很简单,基于像this这样的帖子,但不知怎的,我无法让它发挥作用。这个例子有什么问题?

private void loadJSON() {
  Retrofit retrofit = new Retrofit.Builder()
    .baseUrl(BASEURL)
    .addConverterFactory(GsonConverterFactory.create())
    .build();
  newsAPI = retrofit.create(NewsAPI.class);
  Call < JSONResponse > call =
    newsAPI.topNews("soure", "api-key");

  call.enqueue(new Callback < JSONResponse > () {

      @Override
      public void onResponse(Call < JSONResponse > call, Response < JSONResponse > response) {

        Log.v("this", "Yes!");
      }
    }

    @Override public void onFailure(Call < JSONResponse > call, Throwable t) {
      Log.v("this", "No Response!");
    }
  });

适用于x<-1 y<-0 if(x>y){warning("careful, one is greater than zero!")}

stop()

所以要么我犯了一个简单的语法错误,要么警告不应该在函数之外使用?

1 个答案:

答案 0 :(得分:1)

您的代码可以正常使用。我使用R 3.3.2。

我认为解决问题的可能方法是检查会话中是否启用了警告消息。 如果您阅读?选项,您会注意到函数返回的值之间存在警告值。

来自参考: 警告: 设置警告消息的处理。如果警告为否定,则忽略所有警告。如果warn为零(默认值)警告将存储,直到顶级函数返回。如果发出10个或更少的警告信号,则会打印出来,否则会显示一条消息,说明已发出多少信号。创建一个名为last.warning的对象,可以通过功能警告打印。如果警告为1,则在发生警告时打印警告。如果警告是两个或更大,则所有警告都会变成错误。

所以,如果你有警告的负值,你就不会看到警告信息。 您可以通过以下方式启用警告消息:

options(warn=1)

尝试更改此设置并重新运行代码。