--- title: NS ENSURE TRUE slug: Mozilla/Tech/XPCOM/Reference/NS_ENSURE_TRUE tags: - XPCOM - XPCOM_Macros translation_of: Mozilla/Tech/XPCOM/Reference/NS_ENSURE_TRUE ---

概要

マクロ

expr の評価値が false の場合に return-value を返す。

構文

NS_ENSURE_TRUE( expr, return-value );

 

使い方

nsresult mozMyClass::MozStringMucking()
{
  char *foo = new char[123];
  NS_ENSURE_TRUE(foo, NS_ERROR_OUT_OF_MEMORY);

  // This is equivalent to doing:
  // これは以下の式と同等です。
  if (!foo)
    return NS_ERROR_OUT_OF_MEMORY;

  // Thou shalt not return NS_ERROR_FAILURE..
  // これは、NS_ERROR_FAILURE を返さない。。
  int i = 3;
  NS_ENSURE_TRUE(i == 3, NS_ERROR_FAILURE);

  return NS_OK;
}

char* mozMyClass::DoStuff()
{
  char* bar = new char[321];
  NS_ENSURE_TRUE(bar, nsnull);

  return bar;
}