By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
424,851 Members | 1,110 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 424,851 IT Pros & Developers. It's quick & easy.

Problem with Exception management block

P: n/a
Hi

I have a problem with the Microsoft.ApplicationBlocks.ExceptionManagement? I
can't get it to work in RELEASE mode? If I run the project in debug mode
the block works fine but when I run the exe file it doesn't catch any
errors?

Does anyone know what my problem might be?

Regards
Palli
Jul 21 '05 #1
Share this Question
Share on Google+
6 Replies


P: n/a
Can you provide a short sample which demonstrates the problem? I've not had
any problems with it myself.

"Páll Ólafsson" <pa***********@skyrr.is> wrote in message
news:e7**************@TK2MSFTNGP12.phx.gbl...
Hi

I have a problem with the Microsoft.ApplicationBlocks.ExceptionManagement?
I
can't get it to work in RELEASE mode? If I run the project in debug mode
the block works fine but when I run the exe file it doesn't catch any
errors?

Does anyone know what my problem might be?

Regards
Palli

Jul 21 '05 #2

P: n/a
no problem....

I have 2 project, one that is the main project and one database project.
In the main project I have a class that impliments the IExceptionPublisher
and there I the write the Publish function? The main project ref. the
database project.

My problem is when an error is thrown in database project, the exception
class, in main project, doesn't catch the error? Works in debug mode but
not in release mode???

Exemple:
public void MyFunction()
{
MyDataAdapter.Update(MyDataSet.MyDataTable); -- thows an error
MyDataSet.MyDataTable.AcceptChanges();
}
When I try to run this function in the database project, an error is thrown
because I cant insert a NULL in one field.

What I dont understand is why its works fine in Debug but not in Release??
Do I have to change some settings?

Please let me know if you need more information

Very best regards
Palli
"David Levine" <no****************@wi.rr.com> wrote in message
news:%2****************@TK2MSFTNGP14.phx.gbl...
Can you provide a short sample which demonstrates the problem? I've not had any problems with it myself.

"Páll Ólafsson" <pa***********@skyrr.is> wrote in message
news:e7**************@TK2MSFTNGP12.phx.gbl...
Hi

I have a problem with the Microsoft.ApplicationBlocks.ExceptionManagement? I
can't get it to work in RELEASE mode? If I run the project in debug mode the block works fine but when I run the exe file it doesn't catch any
errors?

Does anyone know what my problem might be?

Regards
Palli


Jul 21 '05 #3

P: n/a
Where are you catching the exception? Where are you writing to the
management block? These two lines of code don't show me anything that I can
evaluate.

"Páll Ólafsson" <pa***********@skyrr.is> wrote in message
news:uz**************@TK2MSFTNGP14.phx.gbl...
no problem....

I have 2 project, one that is the main project and one database project.
In the main project I have a class that impliments the IExceptionPublisher
and there I the write the Publish function? The main project ref. the
database project.

My problem is when an error is thrown in database project, the exception
class, in main project, doesn't catch the error? Works in debug mode but
not in release mode???

Exemple:
public void MyFunction()
{
MyDataAdapter.Update(MyDataSet.MyDataTable); -- thows an
error
MyDataSet.MyDataTable.AcceptChanges();
}
When I try to run this function in the database project, an error is
thrown
because I cant insert a NULL in one field.

What I dont understand is why its works fine in Debug but not in Release??
Do I have to change some settings?

Please let me know if you need more information

Very best regards
Palli
"David Levine" <no****************@wi.rr.com> wrote in message
news:%2****************@TK2MSFTNGP14.phx.gbl...
Can you provide a short sample which demonstrates the problem? I've not

had
any problems with it myself.

"Páll Ólafsson" <pa***********@skyrr.is> wrote in message
news:e7**************@TK2MSFTNGP12.phx.gbl...
> Hi
>
> I have a problem with the Microsoft.ApplicationBlocks.ExceptionManagement? > I
> can't get it to work in RELEASE mode? If I run the project in debug mode > the block works fine but when I run the exe file it doesn't catch any
> errors?
>
> Does anyone know what my problem might be?
>
> Regards
> Palli
>
>



Jul 21 '05 #4

P: n/a
Hi David...

Here is a detailed description of my projects...

In Main project I have a class that impliments BaseApplicationException

[Serializable]
public class CKException : BaseApplicationException
{
public CKException(string p_sVillubod, Exception p_exVilla,string
p_sUtgafunumer, int p_nVerklidurNumer,string p_sStarfsmadurNumer, string
p_sStarfsmadurNafn) : base(p_sVillubod, p_exVilla)
{
System.Reflection.PropertyInfo pi =
p_exVilla.GetType().GetProperty("Numfber");
}

// protected constructor to de-seralize state data
protected CKerfisvillaException(SerializationInfo info, StreamingContext
context) : base (info, context)
{
// Initialize state
//some code
}

// override GetObjectData to serialize state data
[SecurityPermission(SecurityAction.Demand, SerializationFormatter = true)]
public override void GetObjectData(SerializationInfo info,
StreamingContext context)
{
// Serialize this class' state and then call the base class
GetObjectData
...some code
base.GetObjectData(info, context);
}
}
}

also I have a class in this project that impliments IExceptionPublisher

public class CDSPublisher : IExceptionPublisher
{
void IExceptionPublisher.Publish(Exception exception,
NameValueCollection additionalInfo, NameValueCollectionconfigSettings)
{...}
}

Third Exception klass is called CVilla and it handles calls to function in
the CKException and CDSPublisher

public sealed class CVilla
{
// init some variables...
private CVilla() {}

private static void writeException(string p_sException,Exception
p_exException)
{
...
CKException exK = new CKException(...);
ExceptionManager.Publish(exKerfisvilla);
}
....
}

All the forms in the main project inherit a class that handles any exception
handling and if an exception is thrown, then
the parent class handles the exception. The forms call a function in the DB
project but if an exeption is thrown in that project, the
exception is not catched in the Main project? CVilla class is never ref. in
the db project and there is no exception handling there!
I can use Reflection to use the CVilla class but it must be another smarter
way to handle exception in large solutions. I want to be able
to catch all errors in one place.

here is the app.config ..

<configuration>
<configSections>
<section name="exceptionManagement"
type="Microsoft.ApplicationBlocks.ExceptionManagem ent.ExceptionManagerSectio
nHandler,Microsoft.ApplicationBlocks.ExceptionMana gement" />
</configSections>

<exceptionManagement mode="on">

<publisher mode="on" assembly="kerfi" type="kerfi.CDSPublisher" />
</exceptionManagement>
</configuration>

Hope this is what you are looking for....

"David Levine" <no****************@wi.rr.com> wrote in message
news:OM**************@TK2MSFTNGP09.phx.gbl...
Where are you catching the exception? Where are you writing to the
management block? These two lines of code don't show me anything that I can evaluate.

"Páll Ólafsson" <pa***********@skyrr.is> wrote in message
news:uz**************@TK2MSFTNGP14.phx.gbl...
no problem....

I have 2 project, one that is the main project and one database project.
In the main project I have a class that impliments the IExceptionPublisher and there I the write the Publish function? The main project ref. the
database project.

My problem is when an error is thrown in database project, the exception
class, in main project, doesn't catch the error? Works in debug mode but not in release mode???

Exemple:
public void MyFunction()
{
MyDataAdapter.Update(MyDataSet.MyDataTable); -- thows an
error
MyDataSet.MyDataTable.AcceptChanges();
}
When I try to run this function in the database project, an error is
thrown
because I cant insert a NULL in one field.

What I dont understand is why its works fine in Debug but not in Release?? Do I have to change some settings?

Please let me know if you need more information

Very best regards
Palli
"David Levine" <no****************@wi.rr.com> wrote in message
news:%2****************@TK2MSFTNGP14.phx.gbl...
Can you provide a short sample which demonstrates the problem? I've not

had
any problems with it myself.

"Páll Ólafsson" <pa***********@skyrr.is> wrote in message
news:e7**************@TK2MSFTNGP12.phx.gbl...
> Hi
>
> I have a problem with the

Microsoft.ApplicationBlocks.ExceptionManagement?
> I
> can't get it to work in RELEASE mode? If I run the project in debug

mode
> the block works fine but when I run the exe file it doesn't catch any
> errors?
>
> Does anyone know what my problem might be?
>
> Regards
> Palli
>
>



Jul 21 '05 #5

P: n/a
This shows me the class structure, which appears ok. It does not show where
the code has implemented its try-catch clauses. Some things to check are:
are all threads of execution wrapped in a try-catch? Have you tried
subscribing to the UnhandledException handler as a backstop? Are all
assemblies in the release build installed the same way they are in the debug
build? Is there any code that is compiled out in the Release build? Does the
exception management block have sufficient privileges to publish when
running in the release build?

Also, when you say the parent class handles the exception, what does this
mean?

As an example of what I am referring to, for any thread of execution you
should have something like this..(forgive me if this is too obvious)

void SomeMethod(object state)
{
try
{
}
catch(Exception ex)
{
ExceptionManager.Publish(ex);
}
}

"Páll Ólafsson" <pa***********@skyrr.is> wrote in message
news:uQ**************@TK2MSFTNGP09.phx.gbl...
Hi David...

Here is a detailed description of my projects...

In Main project I have a class that impliments BaseApplicationException

[Serializable]
public class CKException : BaseApplicationException
{
public CKException(string p_sVillubod, Exception p_exVilla,string
p_sUtgafunumer, int p_nVerklidurNumer,string p_sStarfsmadurNumer, string
p_sStarfsmadurNafn) : base(p_sVillubod, p_exVilla)
{
System.Reflection.PropertyInfo pi =
p_exVilla.GetType().GetProperty("Numfber");
}

// protected constructor to de-seralize state data
protected CKerfisvillaException(SerializationInfo info, StreamingContext
context) : base (info, context)
{
// Initialize state
//some code
}

// override GetObjectData to serialize state data
[SecurityPermission(SecurityAction.Demand, SerializationFormatter =
true)]
public override void GetObjectData(SerializationInfo info,
StreamingContext context)
{
// Serialize this class' state and then call the base class
GetObjectData
...some code
base.GetObjectData(info, context);
}
}
}

also I have a class in this project that impliments IExceptionPublisher

public class CDSPublisher : IExceptionPublisher
{
void IExceptionPublisher.Publish(Exception exception,
NameValueCollection additionalInfo, NameValueCollectionconfigSettings)
{...}
}

Third Exception klass is called CVilla and it handles calls to function in
the CKException and CDSPublisher

public sealed class CVilla
{
// init some variables...
private CVilla() {}

private static void writeException(string p_sException,Exception
p_exException)
{
...
CKException exK = new CKException(...);
ExceptionManager.Publish(exKerfisvilla);
}
...
}

All the forms in the main project inherit a class that handles any
exception
handling and if an exception is thrown, then
the parent class handles the exception. The forms call a function in the
DB
project but if an exeption is thrown in that project, the
exception is not catched in the Main project? CVilla class is never ref.
in
the db project and there is no exception handling there!
I can use Reflection to use the CVilla class but it must be another
smarter
way to handle exception in large solutions. I want to be able
to catch all errors in one place.

here is the app.config ..

<configuration>
<configSections>
<section name="exceptionManagement"
type="Microsoft.ApplicationBlocks.ExceptionManagem ent.ExceptionManagerSectio
nHandler,Microsoft.ApplicationBlocks.ExceptionMana gement" />
</configSections>

<exceptionManagement mode="on">

<publisher mode="on" assembly="kerfi" type="kerfi.CDSPublisher" />
</exceptionManagement>
</configuration>

Hope this is what you are looking for....

"David Levine" <no****************@wi.rr.com> wrote in message
news:OM**************@TK2MSFTNGP09.phx.gbl...
Where are you catching the exception? Where are you writing to the
management block? These two lines of code don't show me anything that I

can
evaluate.

"Páll Ólafsson" <pa***********@skyrr.is> wrote in message
news:uz**************@TK2MSFTNGP14.phx.gbl...
> no problem....
>
> I have 2 project, one that is the main project and one database
> project.
> In the main project I have a class that impliments the IExceptionPublisher > and there I the write the Publish function? The main project ref. the
> database project.
>
> My problem is when an error is thrown in database project, the
> exception
> class, in main project, doesn't catch the error? Works in debug mode but > not in release mode???
>
> Exemple:
> public void MyFunction()
> {
> MyDataAdapter.Update(MyDataSet.MyDataTable); -- thows an
> error
> MyDataSet.MyDataTable.AcceptChanges();
> }
> When I try to run this function in the database project, an error is
> thrown
> because I cant insert a NULL in one field.
>
> What I dont understand is why its works fine in Debug but not in Release?? > Do I have to change some settings?
>
> Please let me know if you need more information
>
> Very best regards
> Palli
>
>
> "David Levine" <no****************@wi.rr.com> wrote in message
> news:%2****************@TK2MSFTNGP14.phx.gbl...
>> Can you provide a short sample which demonstrates the problem? I've
>> not
> had
>> any problems with it myself.
>>
>> "Páll Ólafsson" <pa***********@skyrr.is> wrote in message
>> news:e7**************@TK2MSFTNGP12.phx.gbl...
>> > Hi
>> >
>> > I have a problem with the
> Microsoft.ApplicationBlocks.ExceptionManagement?
>> > I
>> > can't get it to work in RELEASE mode? If I run the project in debug
> mode
>> > the block works fine but when I run the exe file it doesn't catch
>> > any
>> > errors?
>> >
>> > Does anyone know what my problem might be?
>> >
>> > Regards
>> > Palli
>> >
>> >
>>
>>
>
>



Jul 21 '05 #6

P: n/a
Hi

First of all I want to thank you for your patient...

What I ment with the parent is every form inherit a special form that has a
function that opens the form and inside that function is the try, catch

public virtual void OpenForm()
{
try
{
... code that opens and init. the form
}
catch (Exception e)
{
CVilla.writeException(e);
}
}

I will take a look at you hints and try to resolve the problem that way...
Thanks for all you info and once again you patiant?
Regards
Palli

"David Levine" <no****************@wi.rr.com> wrote in message
news:uZ**************@TK2MSFTNGP15.phx.gbl...
This shows me the class structure, which appears ok. It does not show where the code has implemented its try-catch clauses. Some things to check are:
are all threads of execution wrapped in a try-catch? Have you tried
subscribing to the UnhandledException handler as a backstop? Are all
assemblies in the release build installed the same way they are in the debug build? Is there any code that is compiled out in the Release build? Does the exception management block have sufficient privileges to publish when
running in the release build?

Also, when you say the parent class handles the exception, what does this
mean?

As an example of what I am referring to, for any thread of execution you
should have something like this..(forgive me if this is too obvious)

void SomeMethod(object state)
{
try
{
}
catch(Exception ex)
{
ExceptionManager.Publish(ex);
}
}

"Páll Ólafsson" <pa***********@skyrr.is> wrote in message
news:uQ**************@TK2MSFTNGP09.phx.gbl...
Hi David...

Here is a detailed description of my projects...

In Main project I have a class that impliments BaseApplicationException

[Serializable]
public class CKException : BaseApplicationException
{
public CKException(string p_sVillubod, Exception p_exVilla,string
p_sUtgafunumer, int p_nVerklidurNumer,string p_sStarfsmadurNumer, string
p_sStarfsmadurNafn) : base(p_sVillubod, p_exVilla)
{
System.Reflection.PropertyInfo pi =
p_exVilla.GetType().GetProperty("Numfber");
}

// protected constructor to de-seralize state data
protected CKerfisvillaException(SerializationInfo info, StreamingContext context) : base (info, context)
{
// Initialize state
//some code
}

// override GetObjectData to serialize state data
[SecurityPermission(SecurityAction.Demand, SerializationFormatter =
true)]
public override void GetObjectData(SerializationInfo info,
StreamingContext context)
{
// Serialize this class' state and then call the base class
GetObjectData
...some code
base.GetObjectData(info, context);
}
}
}

also I have a class in this project that impliments IExceptionPublisher

public class CDSPublisher : IExceptionPublisher
{
void IExceptionPublisher.Publish(Exception exception,
NameValueCollection additionalInfo, NameValueCollectionconfigSettings)
{...}
}

Third Exception klass is called CVilla and it handles calls to function in the CKException and CDSPublisher

public sealed class CVilla
{
// init some variables...
private CVilla() {}

private static void writeException(string p_sException,Exception
p_exException)
{
...
CKException exK = new CKException(...);
ExceptionManager.Publish(exKerfisvilla);
}
...
}

All the forms in the main project inherit a class that handles any
exception
handling and if an exception is thrown, then
the parent class handles the exception. The forms call a function in the DB
project but if an exeption is thrown in that project, the
exception is not catched in the Main project? CVilla class is never ref.
in
the db project and there is no exception handling there!
I can use Reflection to use the CVilla class but it must be another
smarter
way to handle exception in large solutions. I want to be able
to catch all errors in one place.

here is the app.config ..

<configuration>
<configSections>
<section name="exceptionManagement"
type="Microsoft.ApplicationBlocks.ExceptionManagem ent.ExceptionManagerSectio nHandler,Microsoft.ApplicationBlocks.ExceptionMana gement" />
</configSections>

<exceptionManagement mode="on">

<publisher mode="on" assembly="kerfi" type="kerfi.CDSPublisher" />
</exceptionManagement>
</configuration>

Hope this is what you are looking for....

"David Levine" <no****************@wi.rr.com> wrote in message
news:OM**************@TK2MSFTNGP09.phx.gbl...
Where are you catching the exception? Where are you writing to the
management block? These two lines of code don't show me anything that I

can
evaluate.

"Páll Ólafsson" <pa***********@skyrr.is> wrote in message
news:uz**************@TK2MSFTNGP14.phx.gbl...
> no problem....
>
> I have 2 project, one that is the main project and one database
> project.
> In the main project I have a class that impliments the

IExceptionPublisher
> and there I the write the Publish function? The main project ref. the
> database project.
>
> My problem is when an error is thrown in database project, the
> exception
> class, in main project, doesn't catch the error? Works in debug mode

but
> not in release mode???
>
> Exemple:
> public void MyFunction()
> {
> MyDataAdapter.Update(MyDataSet.MyDataTable); -- thows an
> error
> MyDataSet.MyDataTable.AcceptChanges();
> }
> When I try to run this function in the database project, an error is
> thrown
> because I cant insert a NULL in one field.
>
> What I dont understand is why its works fine in Debug but not in

Release??
> Do I have to change some settings?
>
> Please let me know if you need more information
>
> Very best regards
> Palli
>
>
> "David Levine" <no****************@wi.rr.com> wrote in message
> news:%2****************@TK2MSFTNGP14.phx.gbl...
>> Can you provide a short sample which demonstrates the problem? I've
>> not
> had
>> any problems with it myself.
>>
>> "Páll Ólafsson" <pa***********@skyrr.is> wrote in message
>> news:e7**************@TK2MSFTNGP12.phx.gbl...
>> > Hi
>> >
>> > I have a problem with the
> Microsoft.ApplicationBlocks.ExceptionManagement?
>> > I
>> > can't get it to work in RELEASE mode? If I run the project in debug > mode
>> > the block works fine but when I run the exe file it doesn't catch
>> > any
>> > errors?
>> >
>> > Does anyone know what my problem might be?
>> >
>> > Regards
>> > Palli
>> >
>> >
>>
>>
>
>



Jul 21 '05 #7

This discussion thread is closed

Replies have been disabled for this discussion.