2017-05-05 5 views
0

でカスタム例外を作成することができます:私は2つの異なるデータベースの例外を持っては、どのように私はここに私のコードの例であるColdFusionの

<cftry> 

    <cfquery name="myquery" datasource="logindetails"> 
     INSERT INTO userdetails 
     (FirstName,LastName,Email,Phonenumber,Country,Gender) 
     VALUES 
     ('#Form.firstname#','#Form.lastname#','#Form.emailID#', 
     '#Form.PhoneNumber#','#Form.country#','#Form.gender#') 
    </cfquery> 
    <cfoutput> 
     <b>Your Form has been registered</b> 
    </cfoutput> 

    <cfcatch type="database"> 
     <cfoutput>Email already exists. Try with a different email address</cfoutput> 
    </cfcatch> 

    <cfcatch type="any"> 
     <cfoutput>Sorry! some error occured.</cfoutput> 
    </cfcatch> 

</cftry> 

と私は、これら2つの例外は、私が求めていたデータベースを形成するために異なるメッセージを表示したいですColdFusionでカスタム例外を作成する方法は?

+1

あるDBから返さおそらくあなたはエラーに応じて、複数のプロパティを検査する必要があります。あなたのために? –

+1

あなたの質問には関係ありませんが、常にすべてのクライアント提供の値に 'cfqueryparam'を必ず使用してください。両方ともパフォーマンスを向上させ、SQLインジェクションを防ぐ。 – Leigh

+1

私は最初に電子メールdupsを確認します。そうすれば、共通のシナリオを避けることができます。私はtry/catchを避けるのが好きです。 –

答えて

0

それは二つの異なるcfqueryタグによってスローされた例外(というよりもで行うことができますカスタム例外用のカスタムメッセージを持つことが可能だ場合、私はあなたが求めていると思いますcfthrow

もしそうなら、あなたがのcfcatchでメッセージを検査する必要があり、例えば、エラーメッセージの内容に応じてメッセージを変更しますので、おそらく型データベースのものであろうcfqueryタグから任意のエラー

<cftry> 

    <cfquery name="myquery" datasource="logindetails"> 
     INSERT INTO userdetails 
     (FirstName,LastName,Email,Phonenumber,Country,Gender) 
     VALUES 
     ('#Form.firstname#','#Form.lastname#','#Form.emailID#', 
     '#Form.PhoneNumber#','#Form.country#','#Form.gender#') 
    </cfquery> 
    <cfoutput> 
     <b>Your Form has been registered</b> 
    </cfoutput> 

    <cfcatch type="database"> 
     <cfoutput>#findNoCase("error message 1", cfcatch.message) ? "Email already exists. Try with a different email address" : "Some other error message"#</cfoutput> 
    </cfcatch> 

    <cfcatch type="any"> 
     <cfoutput>Sorry! some error occured.</cfoutput> 
    </cfcatch> 

</cftry> 

のでhereはあなたが働いていないものですか、あなたはcftry`タグ `に包まれているコードブロックを持っていると仮定するとのcfcatchプロパティのリスト

関連する問題