C 运行时Runtime Library异常如何扑捉,SEH都不行!!
比如:
_aligned_malloc(-1,1111111)
这个异常试了很多方法,都无法扑捉C 运行时异常,请教大家了!!!
你的代码有异常还是怎么回事?能不能让我看看;
vc的debug模式,运行时异常都会给错误提示和代码定位,没必要手动捕捉
楼上的是混分的吧,我不会给你分的。
你的参数好像有问题
该函数的第一个参数是请求分配内存的大小。
第二参数它必须2的倍数。
你好好看看msdn吧
好像需要设置一下才能捕捉到。
C/C++ code:
#include <iostream>
using namespace std;
int main()
{
try
{
_aligned_malloc(-1,1111111);
}
catch (...)
{
cout << "error!" << endl;
}
return 0;
}
Debug版本出现断言错误。
Release版本返回值:0xc0000417
解释:
在ntstatus.h找到定义:
//
// MessageId: STATUS_INVALID_CRUNTIME_PARAMETER
//
// MessageText:
//
// An invalid parameter was passed to a C runtime function.
//
#define STATUS_INVALID_CRUNTIME_PARAMETER ((NTSTATUS)0xC0000417L)
非法句柄错误,你又没有用_set_invalid_parameter_handler设置处理回调函数。
这样C++框架发现了这一情况,就调用了_invoke_watson函数,它把UnhandledExceptionFilter重设
(导致程序一开始设置的UnhandledExceptionFilter不可用),然后调用默认的
相关问答:
写了个测试程序如下
struct hostent *hp;
char AlarmDevIP[20];
int x2;
hp = gethostbyname("www.google.com");
if (hp)
{
......
#include"stdio.h"
#include"stdlib.h"
void ContrTwo(char i)
{
char str1[8];
itoa(i,str1,2);
printf("%s",str1);
}
unsigned char leftRot(char str,int i);
unsign ......
#include "stdio.h"
void main()
{
int *p;
int a[10]={0,1,2,3,4,5,6,7,8,9};
int k=0;
p=a;
for(int i=0;i<10;i++,p ......
本人在项目中,用ssh架构,想做成分页的效果.
以前我在页面中是,这样取得数据的
<!--进行循环遍历数据-->
<!--进行循环遍历数据-->
<%
List<Users> lof = (List) request.getAttri ......
我这里有一个登陆WIFI网络的页面。由于WIFI经常断线,所以要反复地在这个网页上登陆,没法无人值守。
所以,我想做一个C#程序,放一个webbrowser控件,自动填表并自动点击提交按钮。
问题一:
基本照网上找的程序 ......