You can compile the effect for checking if there are syntax errors. Our code looks like this:

Code:
LPD3DXEFFECTCOMPILER pEffectCompiler = NULL;
LPD3DXBUFFER pEffect = NULL;
hr = D3DXCreateEffectCompiler(
	content,len,
	NULL,	// defines
	&includeManager,	// includes
	D3DXSHADER_ENABLE_BACKWARDS_COMPATIBILITY,
	&pEffectCompiler,NULL);

if(SUCCEEDED(hr))
	hr = pEffectCompiler->CompileEffect(
		D3DXSHADER_ENABLE_BACKWARDS_COMPATIBILITY,
		&pEffect,NULL);
if(!SUCCEEDED(hr) || !pEffect)
	... // show error box



"content" and "len" are the source code and its size.