您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ CATCH_BAD_ALLOC_RET函数代码示例

51自学网 2021-06-01 19:57:06
  C++
这篇教程C++ CATCH_BAD_ALLOC_RET函数代码示例写得很实用,希望能帮到您。

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

在下文中一共展示了CATCH_BAD_ALLOC_RET函数的17个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: Java_sun_awt_windows_WPrintDialogPeer__1show

JNIEXPORT jboolean JNICALLJava_sun_awt_windows_WPrintDialogPeer__1show(JNIEnv *env, jobject peer){    TRY;    DASSERT(peer != NULL);    jobject target = env->GetObjectField(peer, AwtObject::targetID);    DASSERT(target != NULL);    jobject parent = env->GetObjectField(peer, AwtPrintDialog::parentID);    DASSERT(parent != NULL);    jobject control = env->GetObjectField(target, AwtPrintDialog::controlID);    DASSERT(control != NULL);    AwtComponent *awtParent = (AwtComponent *)JNI_GET_PDATA(parent);    DASSERT(awtParent != NULL);        PRINTDLG pd;    memset(&pd, 0, sizeof(PRINTDLG));    pd.lStructSize = sizeof(PRINTDLG);    AwtPrintControl::InitPrintDialog(env, control, pd);    pd.lpfnPrintHook = (LPPRINTHOOKPROC)PrintDialogHookProc;    pd.lpfnSetupHook = (LPSETUPHOOKPROC)PrintDialogHookProc;    pd.Flags |= PD_ENABLESETUPHOOK | PD_ENABLEPRINTHOOK;        AwtDialog::ModalDisable(NULL);    BOOL ret = AwtPrintDialog::PrintDlg(&pd);    AwtDialog::ModalEnable(NULL);    AwtDialog::ModalNextWindowToFront(awtParent->GetHWnd());    if (ret) {        AwtPrintControl::UpdateAttributes(env, control, pd);    }    return ret;    CATCH_BAD_ALLOC_RET(0);}
开发者ID:fatman2021,项目名称:myforthprocessor,代码行数:35,


示例2: DASSERT

/* * Class:     sun_awt_windows_WClipboard * Method:    getClipboardFormats * Signature: ()[J */JNIEXPORT jlongArray JNICALLJava_sun_awt_windows_WClipboard_getClipboardFormats    (JNIEnv *env, jobject self){    TRY;    DASSERT(::GetOpenClipboardWindow() == AwtToolkit::GetInstance().GetHWnd());    jsize nFormats = ::CountClipboardFormats();    jlongArray formats = env->NewLongArray(nFormats);    if (formats == NULL) {        throw std::bad_alloc();    }    if (nFormats == 0) {        return formats;    }    jboolean isCopy;    jlong *lFormats = env->GetLongArrayElements(formats, &isCopy),        *saveFormats = lFormats;    UINT num = 0;    for (jsize i = 0; i < nFormats; i++, lFormats++) {        *lFormats = num = ::EnumClipboardFormats(num);    }    env->ReleaseLongArrayElements(formats, saveFormats, 0);    return formats;    CATCH_BAD_ALLOC_RET(NULL);}
开发者ID:JetBrains,项目名称:jdk8u_jdk,代码行数:36,


示例3: JNI_GET_PDATA

void* AwtPanel::Restack(void * param) {    TRY;    JNIEnv* env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);    jobjectArray peers = (jobjectArray)param;    int peerCount = env->GetArrayLength(peers);    if (peerCount < 1) {        env->DeleteGlobalRef(peers);        return AWTPANEL_RESTACK_MSG_1;    }    jobject self = env->GetObjectArrayElement(peers, 0);    // It's entirely possible that our native resources have been destroyed    // before our java peer - if we're dispose()d, for instance.    // Alert caller w/ IllegalComponentStateException.    if (self == NULL) {        env->DeleteGlobalRef(peers);        return AWTPANEL_RESTACK_MSG_2;    }    PDATA pData = JNI_GET_PDATA(self);    if (pData == NULL) {        env->DeleteGlobalRef(peers);        env->DeleteLocalRef(self);        return AWTPANEL_RESTACK_MSG_3;    }    AwtPanel* panel = (AwtPanel*)pData;    HWND prevWindow = 0;    for (int i = 1; i < peerCount; i++) {        jobject peer = env->GetObjectArrayElement(peers, i);        if (peer == NULL) {            // Nonsense            env->DeleteGlobalRef(peers);            env->DeleteLocalRef(self);            return  AWTPANEL_RESTACK_MSG_4;        }        PDATA child_pData = JNI_GET_PDATA(peer);        if (child_pData == NULL) {            env->DeleteLocalRef(peer);            env->DeleteGlobalRef(peers);            env->DeleteLocalRef(self);            return AWTPANEL_RESTACK_MSG_3;        }        AwtComponent* child_comp = (AwtComponent*)child_pData;        ::SetWindowPos(child_comp->GetHWnd(), prevWindow, 0, 0, 0, 0,                       SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE | SWP_DEFERERASE | SWP_ASYNCWINDOWPOS);        prevWindow = child_comp->GetHWnd();        env->DeleteLocalRef(peer);    }    env->DeleteGlobalRef(peers);    env->DeleteLocalRef(self);    CATCH_BAD_ALLOC_RET("Allocation error");    return NULL;}
开发者ID:AllenWeb,项目名称:openjdk-1,代码行数:58,


示例4: Java_sun_awt_windows_WRobotPeer_getRGBPixelImpl

JNIEXPORT jint JNICALL Java_sun_awt_windows_WRobotPeer_getRGBPixelImpl(    JNIEnv * env, jobject self, jint x, jint y){    TRY;    return AwtRobot::GetRobot(self)->GetRGBPixel(x, y);    CATCH_BAD_ALLOC_RET(0);}
开发者ID:greghaskins,项目名称:openjdk-jdk7u-jdk,代码行数:9,


示例5: Java_sun_awt_windows_WCustomCursor_getCursorHeight

/* * Class:     sun_awt_windows_WCustomCursor * Method:    getCursorHeight * Signature: ()I */JNIEXPORT jint JNICALLJava_sun_awt_windows_WCustomCursor_getCursorHeight(JNIEnv *, jclass){    TRY;    DTRACE_PRINTLN("WCustomCursor.getCursorHeight()");    return (jint)::GetSystemMetrics(SM_CYCURSOR);    CATCH_BAD_ALLOC_RET(0);}
开发者ID:frohoff,项目名称:jdk6,代码行数:15,


示例6: Java_sun_print_Win32PrintServiceLookup_getAllPrinterNames

JNIEXPORT jobjectArray JNICALLJava_sun_print_Win32PrintServiceLookup_getAllPrinterNames(JNIEnv *env,                                                          jobject peer){    TRY;    DWORD cbNeeded = 0;    DWORD cReturned = 0;    LPBYTE pPrinterEnum = NULL;    jstring utf_str;    jclass clazz = env->FindClass("java/lang/String");    if (clazz == NULL) {        return NULL;    }    jobjectArray nameArray;    try {        ::EnumPrinters(PRINTER_ENUM_LOCAL | PRINTER_ENUM_CONNECTIONS,                       NULL, 4, NULL, 0, &cbNeeded, &cReturned);        pPrinterEnum = new BYTE[cbNeeded];        ::EnumPrinters(PRINTER_ENUM_LOCAL | PRINTER_ENUM_CONNECTIONS,                       NULL, 4, pPrinterEnum, cbNeeded, &cbNeeded,                       &cReturned);        if (cReturned > 0) {            nameArray = env->NewObjectArray(cReturned, clazz, NULL);            if (nameArray == NULL) {                throw std::bad_alloc();            }        } else {            nameArray = NULL;        }        for (DWORD i = 0; i < cReturned; i++) {            PRINTER_INFO_4 *info4 = (PRINTER_INFO_4 *)                (pPrinterEnum + i * sizeof(PRINTER_INFO_4));            utf_str = JNU_NewStringPlatform(env, info4->pPrinterName);            if (utf_str == NULL) {                throw std::bad_alloc();            }            env->SetObjectArrayElement(nameArray, i, utf_str);            env->DeleteLocalRef(utf_str);        }    } catch (std::bad_alloc&) {        delete [] pPrinterEnum;        throw;    }    delete [] pPrinterEnum;    return nameArray;    CATCH_BAD_ALLOC_RET(NULL);}
开发者ID:Gustfh,项目名称:jdk8u-dev-jdk,代码行数:55,


示例7: Java_sun_awt_windows_WScrollPanePeer__1getVScrollbarWidth

/* * Class:     sun_awt_windows_WScrollPanePeer * Method:    _getVScrollbarWidth * Signature: ()I */JNIEXPORT jint JNICALLJava_sun_awt_windows_WScrollPanePeer__1getVScrollbarWidth(JNIEnv *env,                                                          jobject self){    TRY;    DTRACE_PRINTLN1("%x: WScrollPanePeer._getVScrollbarHeight()", self);    return ::GetSystemMetrics(SM_CXVSCROLL);    CATCH_BAD_ALLOC_RET(0);}
开发者ID:RedlineResearch,项目名称:OLD-OpenJDK8,代码行数:16,


示例8: Java_sun_awt_windows_WGlobalCursorManager_getLocationOnScreen

/* * Class:     sun_awt_windows_WGlobalCursorManager * Method:    getLocationOnScreen * Signature: (L/java/awt/Component;)L/java/awt/Point */JNIEXPORT jobject JNICALLJava_sun_awt_windows_WGlobalCursorManager_getLocationOnScreen(    JNIEnv *env, jobject, jobject component){    TRY;    JNI_CHECK_NULL_RETURN_NULL(component, "null component");    jobject point =        env->CallObjectMethod(component, AwtComponent::getLocationOnScreenMID);    return point;    CATCH_BAD_ALLOC_RET(NULL);}
开发者ID:frohoff,项目名称:jdk6,代码行数:18,


示例9: Java_sun_awt_windows_WTextComponentPeer_getSelectionEnd

    /*     * Class:     sun_awt_windows_WTextComponentPeer     * Method:    getSelectionEnd     * Signature: ()I     */    JNIEXPORT jint JNICALL    Java_sun_awt_windows_WTextComponentPeer_getSelectionEnd(JNIEnv *env,            jobject self)    {        TRY;        return static_cast<jint>(reinterpret_cast<INT_PTR>(AwtToolkit::GetInstance().SyncCall(                                     (void *(*)(void *))AwtTextComponent::_GetSelectionEnd,                                     env->NewGlobalRef(self))));        // global ref is deleted in _GetSelectionEnd()        CATCH_BAD_ALLOC_RET(0);    }
开发者ID:sakeinntojiu,项目名称:openjdk8-jdk,代码行数:18,


示例10: Java_sun_print_Win32PrintService_getAllMediaSizes

JNIEXPORT jintArray JNICALLJava_sun_print_Win32PrintService_getAllMediaSizes(JNIEnv *env,                                                  jobject peer,                                                  jstring printer,                                                  jstring port){  TRY;  LPTSTR printerName = (LPTSTR)JNU_GetStringPlatformChars(env,                                                          printer, NULL);  LPTSTR printerPort = (LPTSTR)JNU_GetStringPlatformChars(env, port, NULL);  jintArray mediaArray = NULL;  SAVE_CONTROLWORD  int nPapers = ::DeviceCapabilities(printerName, printerPort,                                      DC_PAPERSIZE,   NULL, NULL) ;  RESTORE_CONTROLWORD  if (nPapers > 0) {    mediaArray = env->NewIntArray(nPapers*2);    if (mediaArray == NULL) {      throw std::bad_alloc();    }    jboolean isCopy;    jint *jpcIndices = env->GetIntArrayElements(mediaArray,                                          &isCopy), *saveFormats = jpcIndices;    LPTSTR buf = (LPTSTR)new char[nPapers * sizeof(POINT)]; // array of POINTs    if (::DeviceCapabilities(printerName, printerPort,                             DC_PAPERSIZE, buf, NULL) != -1) {      POINT *pDim = (POINT *)buf;      for (int i = 0; i < nPapers; i++) {        jpcIndices[i*2] = (pDim+i)->x;        jpcIndices[i*2+1] = (pDim+i)->y;      }    }    RESTORE_CONTROLWORD    delete[] buf;    env->ReleaseIntArrayElements(mediaArray, saveFormats, 0);  }  JNU_ReleaseStringPlatformChars(env, printer, printerName);  JNU_ReleaseStringPlatformChars(env, port, printerPort);  return mediaArray;  CATCH_BAD_ALLOC_RET(NULL);}
开发者ID:greghaskins,项目名称:openjdk-jdk7u-jdk,代码行数:50,


示例11: Java_sun_awt_windows_WListPeer_getMaxWidth

/* * Class:     sun_awt_windows_WListPeer * Method:    getMaxWidth * Signature: ()I */JNIEXPORT jint JNICALLJava_sun_awt_windows_WListPeer_getMaxWidth(JNIEnv *env, jobject self){    TRY;    jobject selfGlobalRef = env->NewGlobalRef(self);    return (jint)AwtToolkit::GetInstance().SyncCall(        (void *(*)(void *))AwtList::_GetMaxWidth,        (void *)selfGlobalRef);    // selfGlobalRef is deleted in _GetMaxWidth    CATCH_BAD_ALLOC_RET(0);}
开发者ID:Gustfh,项目名称:jdk8u-dev-jdk,代码行数:19,


示例12: Java_sun_print_Win32PrintServiceLookup_getDefaultPrinterName

JNIEXPORT jstring JNICALLJava_sun_print_Win32PrintServiceLookup_getDefaultPrinterName(JNIEnv *env,                                                             jobject peer){    TRY;    TCHAR cBuffer[250];    OSVERSIONINFO osv;    PRINTER_INFO_2 *ppi2 = NULL;    DWORD dwNeeded = 0;    DWORD dwReturned = 0;    LPTSTR pPrinterName = NULL;    jstring jPrinterName;    // What version of Windows are you running?    osv.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);    GetVersionEx(&osv);    // If Windows 2000, XP, Vista    if (osv.dwPlatformId == VER_PLATFORM_WIN32_NT) {       // Retrieve the default string from Win.ini (the registry).       // String will be in form "printername,drivername,portname".       if (GetProfileString(TEXT("windows"), TEXT("device"), TEXT(",,,"),                            cBuffer, 250) <= 0) {           return NULL;       }       // Copy printer name into passed-in buffer...       int index = 0;       int len = lstrlen(cBuffer);       while ((index < len) && cBuffer[index] != _T(',')) {              index++;       }       if (index==0) {         return NULL;       }       pPrinterName = (LPTSTR)GlobalAlloc(GPTR, (index+1)*sizeof(TCHAR));       lstrcpyn(pPrinterName, cBuffer, index+1);       jPrinterName = JNU_NewStringPlatform(env, pPrinterName);       GlobalFree(pPrinterName);       return jPrinterName;    } else {        return NULL;    }    CATCH_BAD_ALLOC_RET(NULL);}
开发者ID:greghaskins,项目名称:openjdk-jdk7u-jdk,代码行数:49,


示例13: Java_sun_awt_windows_WDataTransferer_registerClipboardFormat

/* * Class:     sun_awt_windows_WDataTransferer * Method:    registerClipboardFormat * Signature: (Ljava/lang/String;)J */JNIEXPORT jlong JNICALLJava_sun_awt_windows_WDataTransferer_registerClipboardFormat(JNIEnv *env,                                                             jclass cls,                                                             jstring str){    TRY;    LPCTSTR cStr = JNU_GetStringPlatformChars(env, str, NULL);    jlong value = ::RegisterClipboardFormat(cStr);    JNU_ReleaseStringPlatformChars(env, str, cStr);    return value;    CATCH_BAD_ALLOC_RET(0);}
开发者ID:sakeinntojiu,项目名称:openjdk8-jdk,代码行数:20,


示例14: Java_sun_print_Win32PrintService_getAllMediaTrays

JNIEXPORT jintArray JNICALLJava_sun_print_Win32PrintService_getAllMediaTrays(JNIEnv *env,                                                  jobject peer,                                                  jstring printer,                                                  jstring port){  TRY;  LPTSTR printerName = (LPTSTR)JNU_GetStringPlatformChars(env,                                                          printer, NULL);  LPTSTR printerPort = (LPTSTR)JNU_GetStringPlatformChars(env, port, NULL);  jintArray mediaTrayArray = NULL;  SAVE_CONTROLWORD  int nBins = ::DeviceCapabilities(printerName, printerPort,                                   DC_BINS,   NULL, NULL) ;  RESTORE_CONTROLWORD  if (nBins > 0) {    mediaTrayArray = env->NewIntArray(nBins);    if (mediaTrayArray == NULL) {      throw std::bad_alloc();    }    jboolean isCopy;    jint *jpcIndices = env->GetIntArrayElements(mediaTrayArray,                                           &isCopy), *saveFormats = jpcIndices;    LPTSTR buf = (LPTSTR)new char[nBins * sizeof(WORD)];    if (::DeviceCapabilities(printerName, printerPort,                             DC_BINS, buf, NULL) != -1) {      RESTORE_CONTROLWORD      WORD *pBins = (WORD *)buf;      for (int i = 0; i < nBins; i++) {        jpcIndices[i] = *(pBins+i);      }    }    delete[] buf;    env->ReleaseIntArrayElements(mediaTrayArray, saveFormats, 0);  }  JNU_ReleaseStringPlatformChars(env, printer, printerName);  JNU_ReleaseStringPlatformChars(env, port, printerPort);  return mediaTrayArray;  CATCH_BAD_ALLOC_RET(NULL);}
开发者ID:greghaskins,项目名称:openjdk-jdk7u-jdk,代码行数:48,


示例15: Java_sun_awt_windows_WListPeer_isSelected

/* * Class:     sun_awt_windows_WListPeer * Method:    isSelected * Signature: (I)Z */JNIEXPORT jboolean JNICALLJava_sun_awt_windows_WListPeer_isSelected(JNIEnv *env, jobject self,                                          jint index){    TRY;    SelectElementStruct *ses = new SelectElementStruct;    ses->list = env->NewGlobalRef(self);    ses->index = index;    return (jboolean)AwtToolkit::GetInstance().SyncCall(        (void *(*)(void *))AwtList::_IsSelected, ses);    // global ref and ses are deleted in _IsSelected    CATCH_BAD_ALLOC_RET(FALSE);}
开发者ID:Gustfh,项目名称:jdk8u-dev-jdk,代码行数:21,


示例16: Java_sun_awt_windows_WScrollPanePeer_getOffset

/* * Class:     sun_awt_windows_WScrollPanePeer * Method:    getOffset * Signature: (I)I */JNIEXPORT jint JNICALLJava_sun_awt_windows_WScrollPanePeer_getOffset(JNIEnv *env, jobject self,                                               jint orient){    TRY;    GetOffsetStruct *gos = new GetOffsetStruct;    gos->scrollpane = env->NewGlobalRef(self);    gos->orient = orient;    return static_cast<jint>(reinterpret_cast<INT_PTR>(AwtToolkit::GetInstance().SyncCall(        (void *(*)(void *))AwtScrollPane::_GetOffset, gos)));    // global ref and gos are deleted in _GetOffset()    CATCH_BAD_ALLOC_RET(0);}
开发者ID:RedlineResearch,项目名称:OLD-OpenJDK8,代码行数:21,


示例17: Java_sun_awt_windows_WScrollPanePeer_getOffset

/* * Class:     sun_awt_windows_WScrollPanePeer * Method:    getOffset * Signature: (I)I */JNIEXPORT jint JNICALL Java_sun_awt_windows_WScrollPanePeer_getOffset(JNIEnv *env, jobject self,					       jint orient){    TRY;    DTRACE_PRINTLN2("%x: WScrollPanePeer.getOffset(%d)", self, orient);    PDATA pData;    JNI_CHECK_PEER_RETURN_NULL(self);    AwtScrollPane* pane = (AwtScrollPane *)pData;    pane->VerifyState();    int nBar = (orient == java_awt_Adjustable_HORIZONTAL) ? SB_HORZ : SB_VERT;    return pane->GetScrollPos(nBar);    CATCH_BAD_ALLOC_RET(0);}
开发者ID:fatman2021,项目名称:myforthprocessor,代码行数:22,



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


C++ CATCH_EINTR函数代码示例
C++ CATCH函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。