Exception Explanation
Exception in thread "main" java.lang.NullPointerException
What that means?
No, I don't want to test it (I haven't used Java3D). But somewhere one of your variables is wrong. The stack trace will tell you where. Post that here if you can't work it out (the stuff printed out when the exception occurred).
Cheers,
Radish21
Similar Messages
-
HTTP server code 500 reason Internal Server Error
HI,
I am getting following error in Call Adapter
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!-- Message canceled
-->
- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
<SAP:Category>XIAdapter</SAP:Category>
<SAP:Code area="PLAINHTTP_ADAPTER">ATTRIBUTE_SERVER</SAP:Code>
<SAP:P1>500</SAP:P1>
<SAP:P2>Internal Server Error</SAP:P2>
<SAP:P3>Internal Server Error</SAP:P3>
<SAP:P4 />
<SAP:AdditionalText />
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack>HTTP server code 500 reason Internal Server Error explanation Internal Server Error</SAP:Stack>
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
I have a Business system that is sending the material master data to a different Business System via XI. The message is received by XI correctly. XI correctly performs the transformation and identifies the message interface and selects correct receiver for the message. XI communicates with the receiving business system via the appropriate communication channel.
The message "fails" in the receiving system with the following error:
HTTP server code 500 reason Internal Server Exception explanation Error parsing of SOAP header.
The channel is using HTTP Adapter type, and i cross checked the communication channel details like Addressing type, target host, service number, path, user name, user password.......each and every detail is correct.
Please help me out to find the solution to the problem.
Points will be gladly awarded.
Edited by: Ashish Soni on Sep 24, 2008 9:02 PMtry sending the same XML message picking from moni and check whether you are getting same error or not?
if you get same error then check at web server for logs there you can find exact error. -
Where are the Adapter Log Files?
Hello All,
I have an message that just isn't being loaded by the receiving business system and I'd like to examine the receivers log files for additional details to help me debug the problem. I don't know where to look yet. Perhaps the group can offer it's collective advice.
Here's the details of the problem I'm tackling.....
I have a 3rd party system that's trying to send a purchase requisition to an SAP Business System via XI. The message is received by XI correctly. XI correctly performs the transformation and identifies the message interface and selects correct receiver for the message. XI communicates with the receiving business system via the appropriate communication channel.
The message "fails" in the receiving system with the following error:
HTTP server code 500 reason Internal Server Exception explanation Error parsing of SOAP header.
That's not particularly enlighting? What exactly about the SOAP header didn't the receiving system like? Perhaps if I could examine a log file on the receiving system, I could figure out what was preventing the message from being loaded.
A review of TCode SM21 and ST22 on the receiving system - show no errors
The message is being sent to an HTTP receiver channel on an SAP Business System. The URL being posted to looks something like this: http://host:port/sap/xi/engine?type=receiver
That's the URL for the local integration engine's pipeline on the receiving SAP business system, right? SXMB_MONI on the receiving system doesn't show an errors because the SOAP header could not be interpreted. What other log files would I examine on the receiver system to see an error in message parsing?
Thanks for your help! Points will be gladly awardedHi,
You can look into the Message Display Tool.
<b>http://server:javaport/MessagingSystem/monitor/montior.jsp</b>
This link will lead you to see the entire SOAP message that is actually sent out of XI and received by XI . You can also see the Adapter Log on this link.
Regards,
Bhavesh -
Can not set multicastRelayMarginDuration
hello
i try set the multicastRelayMarginDuration in my p2p application multicast broadcaster
netStream.multicastWindowDuration = 31; // change default for everybody
netStream.multicastPushNeighborLimit = 10; // change default for everybody
netStream.multicastRelayMarginDuration = 5; // change default for everybody
netStream.publish("stream");
netStream.multicastRelayMarginDuration = 5; //test for HD
//netStream.multicastPushNeighborLimit = 10;
//netStream.multicastWindowDuration = 30;
i test with http://osmf.org/dev/1.6gm/setup.html and see the
multicastWindowDuration is set to 31 sec for everybody this works fine
the multicastPushNeighborLimit is alwys 4 i think this is ok because its an security limit set this value to more than 4
but the multicastRelayMarginDuration is alwys 2 sec is this normal? i can not set this value?
best regardsthe multicastPushNeighborLimit and multicastRelayMarginDuration are set individually at each member; they are not inherited from the publisher. the defaults are 4 and 2 seconds respectively.
you can override any of the multicast parameters (including the window duration) at each peer. listen for NetStream.MulticastStream.Reset (which signals (re)attachment of a low-level multicast stream) and set/override the ones you want to change each time.
the parameters that are inherited from the publisher (but can still be overridden at each peer) are:
multicastWindowDuration
multicastAvailabilitySendToAll
multicastAvailabilityUpdatePeriod
also, if multicastPushNeighborLimit is 0, peers will inherit 0. if the publisher has a non-zero multicastPushNeighborLimit, peers will start with the default of 4.
these parameters are not inherited from the publisher, and have default initial values at each peer:
multicastFetchPeriod
multicastPushNeighborLimit (see exception/explanation above)
multicastRelayMarginDuration -
I uploaded a mp4, but I can't use the URL in a HTML video-tag
I uploaded a mp4 video via the portal to my trial version Azure account. I then published it. I then encoded it. This produced an output file. I then published that output file. Then I copied the URL, and tried to play it in
my browser by pasting it in the address bar. I got an error that I can't explain - can you?:
<?xml version="1.0" encoding="UTF-8"?>
-<Error><Code>AuthenticationFailed</Code><Message>Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature. RequestId:1190a24a-860d-4c26-9948-6334393e4e9a Time:2013-10-07T19:41:29.5702692Z</Message><AuthenticationErrorDetail>Signature fields not well formed.</AuthenticationErrorDetail></Error>I found out what is happening. When my website asks the user for his URL, which can be a YouTube URL, or a URL of a video / audio on a server, it checks that the URL is valid, and there really is a video or audio at that address. This does
not work with Azure.
Public Function UrlExists(ByVal url As String, ByRef Explanation As String) As Boolean
Dim URLReq As HttpWebRequest
Dim URLRes As HttpWebResponse
Explanation = ""
Try
URLReq = CType(WebRequest.Create(url), HttpWebRequest)
URLRes = CType(URLReq.GetResponse(), HttpWebResponse)
If (URLRes.StatusCode = HttpStatusCode.OK) Then
Return True
End If
Catch ex As Exception
Explanation = ex.Message
Return False
End Try
Return (False)
End Function
The code gives the (403) forbidden error in that case. I can suppress this test whenever the input is an Azure URL, but it does raise a question - is there any way to test that the azure URL that the user is using is real?
On another topic, my website also plays audio mp3 files, but Azure Media Services doesn't seem to be able to cope with those.
Thanks,
Gideon -
Deleted songs due to system crash
Hello
My system recently crashed and everything on my computer got deleted due to it including my iTunes songs. Can I still somehow download the songs again I had before the crash???
(I have the "License Backup" folder on a CD)
Regards Björn"Can I still somehow download the songs again I had before the crash???"
We're not "Apple," but I can assure you that the answer is almost certainly "no"--unless you can come up with a exceptional explanation. You should back up your music regularly. -
My Iphone 4S cannot play music without headphone. Everything else works, such as alarm, siri, notifications, etc..., except music out loud. I tried everything, but there is no explanation on why it does this. If siri and alarm work fine, it cant be a internal sound system problem, and it is just for music without headphones plugged in or any other sound system.
Hi shanny202.
Really strange problem you have there. I have a few questions though.
Please try again and try to make the phone as a new without restoringen with you iCloud-data or backup-data from iTunes. Maybe it is something wrong with the data (strange).
Anyway, i think you should call Apple Support or visit an Apple Store, don't forgot to make a Genius Bar reservation.
You locate the nearest Apple Store here: http://www.apple.com/retail/storelist/
And here is Apples phone numbers around the world for support: http://support.apple.com/kb/HE57 -
Explanation for exception?
Hello,
I am receiving the following exception periodically, normally after a number of successful inserts. For no obvious reason an insert to the large container (3.5GB) fails with the following exception
transaction has active cursors
PANIC: Invalid argument
PANIC: fatal region error detected; run recovery
XmlException 0, Error: Could not fetch next DOM element for doc id: 2242, nid: 1.0F
After I do a recovery everything works fine for a while before I get the same.
Any ideas?Hi George,
Thanks for the response. I continued to have issues with the one container. On attempting to reindex with no other applications accessing the container the dbxml shell would segfault. I managed to extract an acceptable amount of data and then created a new container. I have not seen the problem again since I recreated the container.
While I certainly think its possible there's a concurrency bug in my app the resolution by recreation of the container to me indicates I had corruption of some sort. The container itself is fairly old and was also used with dbxml 2.3. Previous application (using 2.3) bugs certainly have caused corruption as I had a number of problems with node names missing in documents after updatnig to 2.6 and reindexing. -
We have the SharePoint Server 2010 with SP1 environment on which the custom SP2010 designer pages were working as expected before the
August 13, 2013 CU has installed. But, getting the below exception while trying to add the new item after the CU has installed.
Error while executing web part: System.NullReferenceException: Object reference not set to an instance of an object. at Microsoft.SharePoint.WebControls.SPDataSourceView.ExecuteInsert(IDictionary values) at
System.Web.UI.DataSourceView.Insert(IDictionary values, DataSourceViewOperationCallback callback) 3b64c3a0-48f3-4d4a-af54-d0a2fc4553cc
06/19/2014 16:49:37.65 w3wp.exe (0x1240) 0x1300 SharePoint Foundation
Runtime tkau Unexpected Microsoft.SharePoint.WebPartPages.DataFormWebPartException: The data source control
failed to execute the insert command. 3b64c3a0-48f3-4d4a-af54-d0a2fc4553cc at Microsoft.SharePoint.WebPartPages.DataFormWebPart.InsertCallback(Int32 affectedRecords, Exception ex) at System.Web.UI.DataSourceView.Insert(IDictionary
values, DataSourceViewOperationCallback callback) at Microsoft.SharePoint.WebPartPages.DataFormWebPart.FlatCommit() at Microsoft.SharePoint.WebPartPages.DataFormWebPart.HandleOnSave(Object sender, EventArgs e)
at Microsoft.SharePoint.WebPartPages.DataFormWebPart.RaisePostBackEvent(String eventArgument) at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) at System.Web.UI.Page.ProcessRequestMain(Boolean
inclu... 3b64c3a0-48f3-4d4a-af54-d0a2fc4553cc
06/19/2014 16:49:37.65* w3wp.exe (0x1240) 0x1300 SharePoint Foundation
Runtime tkau Unexpected ...deStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 3b64c3a0-48f3-4d4a-af54-d0a2fc4553cc
I have tried changing the "DataSourceMode" as below, now the insert command is working, but update command is not working.
<SharePoint:SPDataSource runat="server" DataSourceMode="ListItem" />
Also, the lookup dropdown fields are displaying the value as "<a href="Daughterhttp://cpsp10/sites/Employees/_layouts/listform.aspx?PageType=4&ListId={8F62F444-FB6A-4F03-9522-C4696B45DCD1}&ID=10&RootFolder=*">Daughter</a>"
instead of only "Daughter".
Please provide the solution to get rid of this issue.
Thanks
RamasubbuTry below:
http://social.technet.microsoft.com/Forums/en-US/ae910269-3a0c-4506-844b-e8bc89d95b71/data-source-control-failed-to-execute-the-insert-command
http://blog.jussipalo.com/2012/01/sharepoint-2010-data-source-control.html
While there can be many causes for this generic error message, in my case the first parameter or ddwrt:DataBind function inside the SharePoint:FormFields element was
'i' and I was working with an Edit Form. Changing it to
'u' as it was with every other FormField fixed the issue.
<SharePoint:FormField runat="server" id="ff1{$Pos}" ControlMode="Edit" FieldName="Esittaja" __designer:bind="{ddwrt:DataBind('u',concat('ff1',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Esittaja')}"
/>
Explanation:
DataBind operation type parameters (the first parameter) are listed below:
'i' stands for INSERT,
'u' stands for UPDATE,
'd' stands for DELETE.
http://webcache.googleusercontent.com/search?q=cache:d9HHY4I7omgJ:thearkfloats.blogspot.com/2014/03/sharepoint-2010-data-source-control.html+&cd=4&hl=en&ct=clnk&gl=in
If this helped you resolve your issue, please mark it Answered -
FBL5 FIAR - exception aggregation - count customers with open items at key
Hello gurus,
I have read the information about counting all values in reference to a characteristic. I manage to count how many customers have a FIAR open item 'billing status' = Open in my FIAR cube.
Now I am asked to replicate transaction FBL5 of R3. This transaction will give you open items at a given key date by adding
the items with
A) Item status = 'O' and posting date <= key date
and the items with
B) Item status = 'C' and posting date < =key date and clearing date > key date.
I calculate the net value by creating 2 restricted key figures and then adding them in a CKF.
But for counting I have a problem. I can count how many customer make up the open items (case A)
and how many customers makeup items that where cleared between key date and today.(case B).
But I cannot sum the two numbers as there might be customers that are counted in both cases.
For example I have 4 customers that correspond to case A : 1000 1011, 1012 and 1014
And I have 3 customers that correspond to case B 1000 , 1011 and 1013
I would like to get 5 as the number of customers that verify either case A or case B (or both).
Is there a way to do this with the exception 'aggregation 'and 'count all values' property of CKF ?
ClaudioHi,
The logic given in the above post may be a bit confusing to you. Check out this explanation and try to understand what I mean.
Posting Date - PD
Key Date - KD
Clearing Date - CD
PD--KD--
CD
-O(Status)-C--O-----C
-5107-----8
Let me explain the above table.
Between PD & KD there are 5 count with status'O' and 10 counts with status 'C'.
Between KD & CD there are c counts with status 'O' & 8 counts with status 'C'.
This means 5 with status 'C' becomes 7 between KD & CD.
Similarly, 10 status with 'O' becomes 8.
The logic I am trying to say is..
If you don't want to get counts with status 'C'(repeated) as I understood) 7-5 = 2. Show this 2 as count for status 'C' between KD & CD.
So the table will become like this now.
PD--KD--
CD
-O(Status)-C--O-----C
-5102(7)---2(8).
In braces shown are the total with status 'O'/'C' for the dates.
I hope this will solve your problem.
Message was edited by: AVR - IGA -
How to set exceptions for automatic cookie-clearing on closure?
Firefox is forgetting my two-step google logins. On the google two-step verification page, there's a checkbox which says "Don't ask for codes again on this computer."
But firefox keeps asking for codes.
i have firefox set to clear cookies on closing.
i also have the urls below set as exceptions, in two places:
-in about:permissions, they are all set to allow, and also to keep offline data without asking
-in options/privacy/exceptions
mail.google.com
maps.google.com
calendar.google.com
www.google.com
shopping.google.com
plus.google.com
*.google.com
google.com
gmail.com
this forum is messing up my list, above. Each url is a separate item in exceptions. The bulleted one actually starts with a star. (good job mozilla, thanks for this ancient text editor)
how do clear all cookies EXCEPT the ones above, when i close firefox? Or, is this not a cookie problem?
do i need to include "http://"
this article did not help
https://support.mozilla.org/en-US/questions/974020That worked. (no, it didn't)
It's very confusing that Firefox has settings for how to handle cookies on closing in three different places. They should change that.
"Keep until I close Firefox" seems redundant with "Clear History when Firefox closes" with "Cookies" checked. Then there are settings in "about:permissions". No way to know which one takes precedence. That's poor user-design.
For others having this problem, here's a clear explanation. However, this is only PART of the fix, hoping to find the complete fix later in this thread.
You CAN make FF keep only certain cookies on closing, and erase all others. Here's how to set all cookies to be cleared as soon as you close firefox, except your exceptions:
# Go to Tools > Options > Privacy.
# Under "History", pick "Firefox will Use custom settings for history"
# Click "Exceptions", and add the cookies you want to keep. Click "Close"
# Click "Keep until I close Firefox"
# If you have "Clear History when Firefox closes" checked, then:
* Click "Settings"
* Uncheck "Cookies", and click "OK".
6. Click "OK" to close the settings box.
(now this forum has a formatting toolbar, thx! why didn't have one before?) -
I have a new hard drive as my old one crashed. Everything seemed to transfer fine except for my entire iTunes library. It shows all of my old songs, but when I click on one it states "the song could not be used as the original file could not be found.would you like to locate it".
Either how do I locate it, and I've tried every trick I know, or how do I restore all of my songs from one of two sources. I have my old hard drive backedup on an external drive which should have all of my songs, and I have most of my songs on my old iPhone 3S which I'm using as a backup iPod.The "missing file" error happens if the file is no longer where iTunes expects to find it. Possible causes are that you or some third party tool has moved, renamed or deleted the file, one of its parent folders, or the drive it lives on has had a change of drive letter. It is also possible that iTunes has changed from expecting the files to be in the pre-iTunes 9 layout to post-iTunes 9 layout, or vice-versa, and so is looking in slightly the wrong place. In the case of a library moved from one system to another there are also potential permissions issues. See Repair security permissions for iTunes for Windows.
Select a track with an exclamation mark, use Ctrl-I to Get Info, then click No when asked to try to locate the track. (Due to a bug in iTunes 12 you currently have to say No twice!) Look on the summary tab for the location that iTunes thinks the file should be. Now take a look around your hard drive(s). Hopefully you can locate the track in question. If a section of your library has simply been moved, a folder renamed, or a drive letter has changed, it should be possible to reverse the actions. If the difference between the two paths is an additional Music folder in one path then this is a layout issue. I can explain further if that is the case.
In some cases iTunes may be able to repair itself if you go through the same steps with Get Info but this time click Locate and browse to the lost track. It may then offer to attempt to automatically fix other broken links.
If another application like Windows Media Player has moved/renamed the files then the chances are that subtle differences in naming strategies will make it hard to restore the media to the precise path that iTunes is expecting. In such cases, as long as the missing files can be found somewhere, you should be able to use my FindTracks script to reconnect them to iTunes. See this post for an explanation of how it works.
See also Recover your iTunes library from your iPod or iOS device.
tt2 -
Re: Raising Exceptions Vs returning erro[Ref:C809787]
Hi Steve !
Probably the following explanation might help in resolving the issue raised by
you:
At a more abstract level, there is only one thing, i.e. the EVENT. According to
it's definition, an event is a relatively infrequent occurrence in one portion (lets
call it event raiser) of the application, which some other portion (or portions,
lets call them event handlers) (of the same application) are interested to respond
to it. Now there are two scenarios:
(A) Event raiser and Event handler(s) are being executed under different threads
of control (Asynchronous) and
(B) Event raiser and Event Handler(s) are being executed under same thread of
control (Synchronous).
So, Exception Handling belongs to scenario B where the method raising the
exception (Event Raiser or exception raiser) and the method handling it (Event
Handler or exception block) are under the same thread of control. More ever it has
to be insured that at a time only one handler (first the inner most one) receives
the message.
Forté provides a generic Event handling mechanism (Post Event and Event Loop) to
handle the scenario A (which is the more generic one). But it also provides a
specialized Event Handling mechanism (Raise Exception and Exception block) to
efficiently handle the relatively simple scenario B. Why I am saying that the later
is efficient because it won't be needing to register the event queue address of the
interested task (after all there is only one task involved) and put the event
message in queue.
Finally let me mentioned that it is just my view based on the understanding I
have and it may not be true. Only a person from forté can confirm it. I will really
appreciate if somebody correct and or refine it.
Wish a Very Very Happy New Year to all Forté Users
Regard,
Kailash.
[email protected] wrote:
I would agree with Eric entirely. Exceptions seem to me to be a much more
complete solution to the problem of error handling. A little bit of effort up
front in making clear the strategy for exception handling and specifying the
exceptions that can be raised by a class\method will provide an excellent method
for error handling.
In the case of ensuring exceptions are always handled, a top level handler for
GenericException will usually do the job, allowing you to write error
information out to logs, screen, etc, and then shut down gracefully.
The only issue I would raise with exceptions is that they are not propagated
outside an asynchronous task. If an exception is not handled within an
asynchronous, it will not propagate to the task that started that asynchronous
task. Forte provides return and exception events when starting asynchronous
tasks to cope with this, but it seems a shame to have one method of dealing with
errors (exceptions) for synchronous behaviour, and another (events) for
asynchronous behaviour.
Steve Elvin
Systems Developer
Frontline Ltd.
UK
Mark,
The problem with return codes is that there is an underlying assumption
that the receiver will always catch and interpret that error code. This
may or may not be good thing, depending on how you architect your
application. If, on the other hand, you want to ensure that an error is
always handled, if not by the receiver then by the Forte, Exceptions are
the way to go. To extend this mechanism further, I would subclass
GenericException and created my own error code attribute on that
subclass. That way the receiver has the choice of interpreting the
exception based on that error code, and wrapping it in a
MessageDialog/window or do the usual 'errormgr.showerrors()'.
Exceptions seem a more flexible approach to me. That is, if you can live
with the fact that by using it, you're violating the 'exceptions for
behavioral anomalies' software engineering principle !
Best wishes.
Eric Pereira
Forte Consultant
----Original Message Follows----
From: "Kallambella, Ajith" <[email protected]>
To: "'Mark Sundsten'" <[email protected]>, [email protected]
Cc: [email protected]
Subject: RE: Raising Exceptions Vs returning error codes
Date: Wed, 30 Dec 1998 08:52:39 -0500
Reply-To: "Kallambella, Ajith" <[email protected]>
Mark,
Identifying conditions where you would rather use an exception
to an error_code ( and vice-versa ) normally depends on
your application design. Usually exceptions
are used to handle behavioral anomalies which are
not expected during the normal course of execution of
the program, and which would affect the continuity of
your algorithm if ignored. Examples would be a fatal
error, a semantically invalid( but syntactically-valid
token ) etc.
Error_codes and return status's can be used to handle
anticipated and recoverable errors. Example would
be presentation layer validations. In any normal
UI system, the user is expected to make errors and it
would be annoying to throw an exception( and to handle
it ), every time user enters wrong data. A well
modeled client layer should not only handle
data-validation errors , but should be smart enough
to encourage users to input correct or
"near-correct" data. Examples could be
making use of look-up windows etc. Interestingly,
Express uses exceptions to handle data-validations.
As you see, exceptions fit well into your processing
logic where severity of damage caused by an error
is more. Where as error_codes fit well into presentation
logic( and some not-so-critical processing logic ) where
errors are usually recoverable and normal path of
execution can be easily restored.
Hope this helps. I would be very interested to hear
what others have to say.
Ajith Kallambella. M
Forte Systems Engineer,
International Business Corporation.
-----Original Message-----
From: Mark Sundsten [mailto:[email protected]]
Sent: Tuesday, December 29, 1998 2:10 PM
To: [email protected]
Cc: [email protected]
Subject: Raising Exceptions vs returning error codes
When dealing with error handling, I find myself struggling with the
choice
of
raising exceptions (and handling them) from the caller
vs returning an error code of somekind.
When would you want to use one over the other?
Should you always use exception handling?
Any discussion would be appreciated.
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>
Get Your Private, Free Email at http://www.hotmail.com
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>-
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>Hi Steve !
Probably the following explanation might help in resolving the issue raised by
you:
At a more abstract level, there is only one thing, i.e. the EVENT. According to
it's definition, an event is a relatively infrequent occurrence in one portion (lets
call it event raiser) of the application, which some other portion (or portions,
lets call them event handlers) (of the same application) are interested to respond
to it. Now there are two scenarios:
(A) Event raiser and Event handler(s) are being executed under different threads
of control (Asynchronous) and
(B) Event raiser and Event Handler(s) are being executed under same thread of
control (Synchronous).
So, Exception Handling belongs to scenario B where the method raising the
exception (Event Raiser or exception raiser) and the method handling it (Event
Handler or exception block) are under the same thread of control. More ever it has
to be insured that at a time only one handler (first the inner most one) receives
the message.
Forté provides a generic Event handling mechanism (Post Event and Event Loop) to
handle the scenario A (which is the more generic one). But it also provides a
specialized Event Handling mechanism (Raise Exception and Exception block) to
efficiently handle the relatively simple scenario B. Why I am saying that the later
is efficient because it won't be needing to register the event queue address of the
interested task (after all there is only one task involved) and put the event
message in queue.
Finally let me mentioned that it is just my view based on the understanding I
have and it may not be true. Only a person from forté can confirm it. I will really
appreciate if somebody correct and or refine it.
Wish a Very Very Happy New Year to all Forté Users
Regard,
Kailash.
[email protected] wrote:
I would agree with Eric entirely. Exceptions seem to me to be a much more
complete solution to the problem of error handling. A little bit of effort up
front in making clear the strategy for exception handling and specifying the
exceptions that can be raised by a class\method will provide an excellent method
for error handling.
In the case of ensuring exceptions are always handled, a top level handler for
GenericException will usually do the job, allowing you to write error
information out to logs, screen, etc, and then shut down gracefully.
The only issue I would raise with exceptions is that they are not propagated
outside an asynchronous task. If an exception is not handled within an
asynchronous, it will not propagate to the task that started that asynchronous
task. Forte provides return and exception events when starting asynchronous
tasks to cope with this, but it seems a shame to have one method of dealing with
errors (exceptions) for synchronous behaviour, and another (events) for
asynchronous behaviour.
Steve Elvin
Systems Developer
Frontline Ltd.
UK
Mark,
The problem with return codes is that there is an underlying assumption
that the receiver will always catch and interpret that error code. This
may or may not be good thing, depending on how you architect your
application. If, on the other hand, you want to ensure that an error is
always handled, if not by the receiver then by the Forte, Exceptions are
the way to go. To extend this mechanism further, I would subclass
GenericException and created my own error code attribute on that
subclass. That way the receiver has the choice of interpreting the
exception based on that error code, and wrapping it in a
MessageDialog/window or do the usual 'errormgr.showerrors()'.
Exceptions seem a more flexible approach to me. That is, if you can live
with the fact that by using it, you're violating the 'exceptions for
behavioral anomalies' software engineering principle !
Best wishes.
Eric Pereira
Forte Consultant
----Original Message Follows----
From: "Kallambella, Ajith" <[email protected]>
To: "'Mark Sundsten'" <[email protected]>, [email protected]
Cc: [email protected]
Subject: RE: Raising Exceptions Vs returning error codes
Date: Wed, 30 Dec 1998 08:52:39 -0500
Reply-To: "Kallambella, Ajith" <[email protected]>
Mark,
Identifying conditions where you would rather use an exception
to an error_code ( and vice-versa ) normally depends on
your application design. Usually exceptions
are used to handle behavioral anomalies which are
not expected during the normal course of execution of
the program, and which would affect the continuity of
your algorithm if ignored. Examples would be a fatal
error, a semantically invalid( but syntactically-valid
token ) etc.
Error_codes and return status's can be used to handle
anticipated and recoverable errors. Example would
be presentation layer validations. In any normal
UI system, the user is expected to make errors and it
would be annoying to throw an exception( and to handle
it ), every time user enters wrong data. A well
modeled client layer should not only handle
data-validation errors , but should be smart enough
to encourage users to input correct or
"near-correct" data. Examples could be
making use of look-up windows etc. Interestingly,
Express uses exceptions to handle data-validations.
As you see, exceptions fit well into your processing
logic where severity of damage caused by an error
is more. Where as error_codes fit well into presentation
logic( and some not-so-critical processing logic ) where
errors are usually recoverable and normal path of
execution can be easily restored.
Hope this helps. I would be very interested to hear
what others have to say.
Ajith Kallambella. M
Forte Systems Engineer,
International Business Corporation.
-----Original Message-----
From: Mark Sundsten [mailto:[email protected]]
Sent: Tuesday, December 29, 1998 2:10 PM
To: [email protected]
Cc: [email protected]
Subject: Raising Exceptions vs returning error codes
When dealing with error handling, I find myself struggling with the
choice
of
raising exceptions (and handling them) from the caller
vs returning an error code of somekind.
When would you want to use one over the other?
Should you always use exception handling?
Any discussion would be appreciated.
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>
Get Your Private, Free Email at http://www.hotmail.com
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>-
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/> -
XI Communication Channel Error Explanation
Hi All,
Does anyone happen to know :-
1) Is it possible to use CCMS to email the errors coming from a communication channel error Explanation field
2) Are these messages stored in a table I can check
The reason I need to know this is because we sometimes encounter an error such as "Conversion of file content to XML failed at position 838: java.lang.Exception: ERROR converting document line no. 839 according to structure 'XXX_XXX_XXX':java.lang.Exception: ERROR in configuration / structure 'XXX_XXX_XXX.': More elements in file csv structure than field names specified!
This tells us exactly where the error occurred but using Communication Channel Monitoring the error message only remains for a little while before the polling messages remove it from the display. Since the process runs early hours of the morning we never get to see these messages.
Any help appreciated.
Thanks
CraigHi Raquel,
Let me try to clear out some things in this thread . First of all you do your alert configuration which you say you have already done. Thats good . Now you ask that you want only to monitor the communication channels and you want specific guide . Here is the specific guide.
If you have configured alerts you will know that when you create an alert rule you have the option to choose radio button where did the error occur it could be no restriction , integration engine or adapter engine. You need to choose adapter engine.
Now whenever the colour of the lights change to red. You will get your alerts.
Regards
joel
Edited by: joel trinidade on Apr 9, 2009 9:41 AM -
CRIO 9014 crash exception 0x00000700
Hello,
I am having a rather frustrating time trying to diagnose a repeated crash on my cRIO 9014 controller. I have a big control system, centered at the RIO, which is talking to some C-series modules, several "intelligent" boxes over GPIB via the GPIB-RS232 converter, and an OPC server through the shared variable engine bound to an OPC client on my computer. It will work without complaints for usually anywhere from 2 - 10 minutes and then crash with no explanation. After the second crash I get the status LED blinking 4 times and the controller must be rebooted before I can try to re-connect. I've monitored the cpu and memory up until the crash point with no issues.
I've tried disabling random parts of the block diagram to no avail, unless I remove all of the functional elements completely. I really have no idea what to even try next, so I very much hope someone out there has a guess. I've attached a representative error log - they all look pretty similar, with the same exception code 0x700 and some function in niserial.out, though the function is not always the same. I've also attached the master vi. It will of course be broken without all of the sub-vis, but hopefully it is enough to get the gist of what is going on. I can send the entire project if necessary, but it is huge so I leave it off for now.
Thanks in advance,
~Ben Loer
Attachments:
lvrt_err_log.txt 77 KB
slowcontrol.vi 142 KBHi Flash,
Thanks for your reply.
The crash you are seeing will require you to narrow down the specidific system that is causing the crash. The crash log does not point to one specific component. Can you provide the niserial.out error log?
How do I get this log?
I think you should first eliminate the communication to the c-series module, then the communication with the OPC server.
I've tried removing these components from the primary loop using a diagram disable structure, but the crash doesn't go away unless I remove all of the functional parts at once. A new behavior I just discovered today is that the crash also goes away if I remove the separate loop which logs the data. Is there some issue with having two timed loops in parallel?
Also can you provide the versions of LabVIEW, RIO driver, and OPC Server?
LabVIEW, FPGA, and RT modules are all 2009 (9.0.0.
RIO 3.2.0 with scan engine support
The OPC Server is a CAEN HV OPC Server for a SY1527LC power supply. It says it is version 3.0, but I'm not sure how to check the version of the OPC Server protocol itself.
Thanks,
~Ben
Maybe you are looking for
-
Weblogic 7.0 sp4 failing to resolve from /etc/hosts on solaris 8
Hello, I am facing a strange problem on one of the installations of weblogic 7 in using the JNDI lookup. This weblogic instance throws me the following exception whenever I try to lookup through JNDI a remote EJB; weblogic.utils.NestedError: This add
-
Async ABAP Client Proxy Queuing
Hi all, We've successfully set up an asynchronous ABAP client proxy on a WAS 6.20 instance to connect to our XI 3.0 box. Our concern is if XI is down the messages won't get queued up for delivery. As I understand it, failed messages won't get queue
-
Is reset all settings enough to restore factory settings or do I have to erase all content?
Data works without problem on my phone, but sometimes phone calls and SMS messages act like the phone is not on the network. Calls go straight to Voicemail and SMS messages are not received. Unless the phone is rebooted or turned off and on or a pho
-
The scroll motion where I set the fill is only scrolling down
The scroll motion where I set the fill is only scrolling down, even when I set it to go up. Has anyone else expereinced this? Can you help me correct this?
-
Setting classpath in Process object
Anybody run into this before? I am trying to call the OracleXML utility on Windows using the Runtime to get a process object. When I pass my classpath to the Process object, somebody is changing the period in the file name (eg. classes12.zip) to a fo