Exit from CIN within Error Handling Sub-Function

I have a CIN which has the code divided betwee the CINRun() function, a number of other functions & a #included .C file. I want to put some error handling into my CIN, so if an error occurs I want execution to return from the CIN to LabVIEW immediately... however, my error handling is currently done in one of the other functions, and may be called from CINRun,
functions, or the #included .C file. Is there any neat/handy/nice way of universally/globally breaking out of or bombing out of the CIN if the error handling code gets called?

Michael.Johnson wrote:
I have a CIN which has the code divided betwee the CINRun() function, a number of other functions & a #included .C file. I want to put some error handling into my CIN, so if an error occurs I want execution to return from the CIN to LabVIEW immediately... however, my error handling is currently done in one of the other functions, and may be called from CINRun,
functions, or the #included .C file. Is there any neat/handy/nice way of universally/globally breaking out of or bombing out of the CIN if the error handling code gets called?
You seem to want to do structured ecxeption handling. This however is something only really supported by C++ and other object oriented languages. Standard C can do that only with quite some header macro magic and in general is done in a way, patented by Borland, if I remember correctly. To make things more complicated, writing CINs in C++ is not supported by LabVIEW and requires quite some knowledge about your specific compiler environment and linker to get it right on your own, and no NI won't support C++ creation of CINs.
You will prabably have to modify your C code quite a bit to get it the way you want. Considering that you will have to make more or less involved changes to your C code anyhow, I would recommend you look into creating a shared library instead and calling that through the Call Library Node. CINs are from the past and support for them will be getting less and less with time as it adds almost no advantages to shared libraries anymore and has some disadvantages in comparison, such as proprietary solution, difficult to support and possible compatibility issues in the future.
Rolf Kalbermatter
Rolf Kalbermatter
CIT Engineering Netherlands
a division of Test & Measurement Solutions

Similar Messages

  • Re: exit from a while loop in sub vi

    I think the mail didn`t get through first time. Repeat posting - Sorry if
    this occurs twice
    Shane
    Hallo,
    Can the use of occurrences solve this problem?
    The Main program can create an occurrence which can be passed to the
    sub-VIs. Upon pressing the button to cancel the loop, the occurrence can be
    set, instantly transmitted to all other VIs sharing which were passed the
    same occurrence. Of course a small handling routine has to be written (say
    a sequence parallel to the executing while loop waiting for the occurrence
    and then setting the exit parameter to "true") but this is trivial.
    I have checked this with a small program splitting an occurrence to three
    seperate VIs and it works.
    If you want, I can send a cop
    y of it.
    It may well be possible with notifiers or something else, but I have far
    less experience with them.
    Hope this helps
    Shane
    >pcu schrieb in Nachricht
    ><[email protected]>...
    >>Main vi has several sub-vi's. Each sub vi has a while loop and Boolean
    >>button. When program runs, sub-vi front panel appears, and I can
    >>stop/continue the while loop. But when I stopped a while loop in a
    >>sub-vi, I cannot control other while loops in other sub vi.
    >>I need exit function from a while loop, not stop function of entire
    >>program.
    >>Thanks.
    >
    >
    Using LV 6.1 and 8.2.1 on W2k (SP4) and WXP (SP2)

    The notifier is probably better than occurence at this case - than it is not neccessry to write a parallel sequence.
    The use of notifier is very simple, just follow an example in Help/Search example -> Advances -> Execution control -- Synchronization -> SubVI notification.
    Good luck
    Ferda

  • Exit from a while loop in sub vi

    Main vi has several sub-vi's. Each sub vi has a while loop and Boolean button. When program runs, sub-vi front panel appears, and I can stop/continue the while loop. But when I stopped a while loop in a sub-vi, I cannot control other while loops in other sub vi.
    I need exit function from a while loop, not stop function of entire program.
    Thanks.

    Hallo,
    Can the use of occurrences solve this problem?
    The Main program can create an occurrence which can be passed to the
    sub-VIs. Upon pressing the button to cancel the loop, the occurrence can be
    set, instantly transmitted to all other VIs sharing which were passed the
    same occurrence. Of course a small handling routine has to be written (say
    a sequence parallel to the executing while loop waiting for the occurrence
    and then setting the exit parameter to "true") but this is trivial.
    I have checked this with a small program splitting an occurrence to three
    seperate VIs and it works.
    If you want, I can send a copy of it.
    It may well be possible with notifiers or something else, but I have far
    less experience with them.
    Hope this helps
    Shane
    pcu schrieb in Nachr
    icht
    <[email protected]>...
    >Main vi has several sub-vi's. Each sub vi has a while loop and Boolean
    >button. When program runs, sub-vi front panel appears, and I can
    >stop/continue the while loop. But when I stopped a while loop in a
    >sub-vi, I cannot control other while loops in other sub vi.
    >I need exit function from a while loop, not stop function of entire
    >program.
    >Thanks.
    Using LV 6.1 and 8.2.1 on W2k (SP4) and WXP (SP2)

  • Exit from Director with error code

    Hi all!
    How can I exit from director with specifyed error code by
    using lingo or JavaScript syntax?
    I want to catch its error code in batch file for example to
    do something special.
    Sample batch file I want to use:
    myprojector.exe
    if %ERRORLEVEL% == 10 goto GO_TO_SOMETHING_WRONG
    But now, by default director quit with error code 0.
    Thanks in advance

    lis0x90 wrote:
    > How can I exit from director with specifyed error code
    by using lingo
    > or JavaScript syntax?
    >
    > I want to catch its error code in batch file for example
    to do
    > something special.
    > Sample batch file I want to use:
    >
    > myprojector.exe
    > if %ERRORLEVEL% == 10 goto GO_TO_SOMETHING_WRONG
    >
    > But now, by default director quit with error code 0.
    I don't know of any way to do that, but you could get the
    projector to
    create a (zero byte) file if there's an error and in the
    batch file check
    for the existence of that file. (Not forgetting to delete
    that file, if it
    exists, when the projector starts.)
    Andrew

  • Weird! error handling not functioning

    hi all
    we have method A:
      public int issueItemWorkOrder( String sWORKON ) throws SQLException, Exception {calling method B:
      public float getQtyAvailable( String sITEM ) throws SQLException, Exception {method B raises an exception that is not being caught by method A. Any ideas?
    code below
    thanks for any help
      public float getQtyAvailable( String sITEM ) throws SQLException, Exception {
    // --------->sintax error on purpose
              fQtyAvailable = rs.getFloat( "QTYSTK" ) - rs.getFloat( "QTYMIN" );
            else {
              fQtyAvailable = 0;
          catch( SQLException sqle ) { // this error is raised
            error  = "SQLException: get quantity available failed possible record does not exist. ";
            error += sqle.toString();
            throw new SQLException( error );
          catch( Exception e ) { // this error is raised
            error  = "An exception occured while getting quantity available record. ";
            error += e.toString();
            throw new Exception( error );
          finally {
            return fQtyAvailable;
        else {
          error = "Exception: Connection to database was lost while checking item work order. ";
          throw new Exception( error );
      public int issueItemWorkOrder( String sWORKON ) throws SQLException, Exception {
    // ------->calling fQtyAvailable should raise an error
           fQtyAvailable = getQtyAvailable( sITEMWORKORDER );
    // --------> it not being caught, why????
          catch( SQLException sqle ) {
            error  = "SQLException: issue item work order failed, possible record does not exist. ";
            error += sqle.toString();
            throw new SQLException( error );
          catch( Exception e ) {
            error = "An exception occured while issueing item work order record. ";
            error += e.toString();
            throw new Exception( error );
          finally {
            return iRowCount;
        else {
          error = "Exception: Connection to database was lost.";
          throw new Exception( error );
      }

    thanks rmorlok
    I have read few books and could not find an explanation why having a "return statement inside the finally clause of a method which raises an exception" blocks the propagation of exceptions?
    eg.
    method issueItemWorkOrder calls method getQtyAvailable
    1) The code below works fine, since we haven't got any return statement in the finally clause;
    2) However, if we add a return statement inside the finally clause of getQtyAvailable, when an exception occurs inside getQtyAvailable, the exception does not propagate to issueItemWorkOrder, and the code inside issueItemWorkOrder continues normally, which is NOT CORRECT.
    Any explanation why the return statement blocks the propagation of exceptions??
    Thanks in advance for any assistance.
    cheers
    Trajano
      public void getQtyAvailable( String sITEM ) throws SQLException, Exception {
        PreparedStatement ps1 = null;
        ResultSet rs1 = null;
        if( con != null ) {
          try {
            // the following line of code throws an exception on purpose for testing     
            if( rs1.next() ) {
              fQtyAvailable = rs1.getFloat( "QTYSTK" ) - rs1.getFloat( "QTYMIN" );
          catch( SQLException sqle ) {
            error  = "SQLException: get quantity available failed possible record does not exist. ";
            error += sqle.toString();
            throw new SQLException( error );
          catch( Exception e ) {
            error  = "An exception occured while getting quantity available record. ";
            error += e.toString();
            throw new Exception( error );
          finally {
        else {
          error = "Exception: Connection to database was lost while checking item work order. ";
          throw new Exception( error );
      public void issueItemWorkOrder( String sWORKON ) throws SQLException, Exception {
        boolean bFirstRun = true;
        float fQtyStillRequired = 0, fQtyIssued = 0;
        int iIWOID = 0, iISOID = 0, iIWOSTATUS = 0, iISOSTATUS = 0, iWOSTATUS = 0;
        String sITEMWORKORDER = null;
        if( con != null ) {
          try {
              getQtyAvailable( sITEMWORKORDER );
          catch( SQLException sqle ) {
            error  = "SQLException: issue item work order failed, possible record does not exist. ";
            error += sqle.toString();
            throw new SQLException( error );
          catch( Exception e ) {
            error = "An exception occured while issueing item work order record. ";
            error += e.toString();
            throw new Exception( error );
          finally {
        else {
          error = "Exception: Connection to database was lost.";
          throw new Exception( error );

  • Error handling for importing a file

    Hi, I have only been doing java for 1 semester, and have got terribly stuck on my final assg. I have to import a txt file, and catch any exceptions. I know I am not using the correct method to read the file, but am not sure what the alternatives are. I am getting a compile time..illegal character msg for my Mydata.txt file. Here is my code.
    PS I do have a CatalogueItem class and a bit more to the main class, I have not attached it as I do not want this to be too long.
    /The program reads 10 sets of catalogue data from the Mydata.txt file
    //it prompts the user to use one of the 5 menu options displayed on the screen
    //depending on which option is selected the program displays the data
    //back on the screen.
    import java.awt.*;
    import java.lang.*;
    import java .io.*;
    import java.util.StringTokenizer;
    import java.text.NumberFormat;
    import java.util.Locale;
    //set up a class to call on the constructors from the catalogueitem class
    public class Myassg5
         private static final int MAX = 10; //sets the length to 10(for most exp products)
         private static CatalogueItem[] prodlist; //sets array for product list
         NumberFormat cash = NumberFormat.getCurrencyInstance(new Locale("en","AU"));
         public static void main(String[] args) throws IOException
         CatalogueItem prodlist = new CatalogueItem[10];//sets the length to 10
         {//create Buffered FileStream and initialise to zero
         //use bufferedReader to read in data my Mydata.txt file.
         BufferedReader inFile = null;
         BufferedReader inFile = new BufferedReader(new FileReader(C:\Mydata.txt);
         //print a msg stating the file is loading
         System.out.println("Loading file data from Mydata.txt...10 item(s) OK");
         //initialise the array elments to zero
         for( int a = 0; a < prodlist.length; a++)
         prodlist[a] = 0;
         //if incorrect command lines were passed in display
         //usage msg and quit program
         if(prodlist.length != 1)
              System.out.println("Usage: java assg <Mydata.txt>");
              System.exit(0);
         try
              inFile = new BufferedReader(new FileReader(args[0]));
         //display the error and quit if the file is not found
         catch(FileNotFoundException e)
              System.err.println("File not found--program will terminate");
              System.exit(1);
         //display error msg and quit if there is a problem
         //when opening the file
         catch(IOException e)
              System.err.println("Error opening file--program will terminate")
              System.exit(1);
         //repeat this error handling process as often as neccessary
         boolean go = true;
         while (go)
         //get a line of data from the file
         boolean valid = false;
         CatalogueItem prodlist =-1;
         while(!valid)
         //read the line of text from the file
         String temp = null;
         try
              temp = inFile.readLine();
         //display error msg and quit if there is a problem
         //reading from the file
         catch (IOException e)
              System.err.println("error reading from the file--program will terminate");
         System.exit(1);
         //if the string is null the EOF has been reached
         if(temp ==null)
              valid = true;
              go = false;
         //close the file stream
         try
              inFile.close();
         //display error if there was a problem closing the file
         catch (IOException e)
              System.err.println("error closing data file")
         

    I think the problem is the "\M" in "C:\Mydata.txt". It is trying to make that into an escape character. Use "C:\\Mydata.txt" or "C:/Mydata.txt" instead.
    The logic here is odd. You open a BufferedReader for Mydata.txt, then you trash it without closing it and create another BufferedReader for whatever command line argument the user passes in. Which reader do you want to keep?

  • Error Handling subtab missing in APEX 4.2 during update page.

    Does anyone know if error handling page is replaced by something else in APEX 4.2. I can’t see error handling sub tab when I go for update of any existing page. It used be below page attribute at the upper right corner in earlier version.

    Hi,
    I just checked this on apex.oracle.com and can see both the 'Error Handling' 'sub tab' and the relevant region on the page with attributes for 'In-Line Error Notification Text' and 'Error Handling Function'. This is on the 'Edit Page' page in the builder (4000:4301). Is this the page you are on and are you still not able to see this?
    Regards,
    Anthony

  • IE / Spry Bug with custom error handler

    Ok, as I was looking through SpryData.js I noticed these
    wonderful lines:
    Spry.Utils.loadURL.callback = function(req)
    if (!req || req.xhRequest.readyState != 4)
    return;
    if (req.successCallback && (req.xhRequest.status ==
    200 || req.xhRequest.status == 0))
    req.successCallback(req);
    else if (req.errorCallback)
    req.errorCallback(req);
    In particular the "errorCallback()" method interested me as I
    wanted to introduce my own error handler. As I went about testing
    this I came up with a quick try of:
    var url = "/cfcs/mycfc.cfc?method=IsValidPath&path=" +
    encodeURIComponent(sl.value + sd.value);
    var optionsObj = new Object();
    optionsObj.errorCallback = ShowError;
    Spry.Utils.loadURL("GET", url, false, ValidateForm,
    optionsObj);
    And this works great in FF, but not IE. When I cause an error
    to occur from ColdFusion I pass a status code of "500". In FF the
    error code causes my "ShowError" function to fire, but not in IE. I
    tracked it to this bit of code in SpryData.js:
    Spry.Utils.loadURL = function(method, url, async, callback,
    opts)
    var req = new Spry.Utils.loadURL.Request();
    req.method = method;
    req.url = url;
    req.async = async;
    req.successCallback = callback;
    Spry.Utils.setOptions(req, opts);
    try
    req.xhRequest = Spry.Utils.createXMLHttpRequest();
    if (!req.xhRequest)
    return null;
    if (req.async)
    req.xhRequest.onreadystatechange = function() {
    Spry.Utils.loadURL.callback(req); };
    req.xhRequest.open(req.method, req.url, req.async,
    req.username, req.password);
    if (req.headers)
    for (var name in req.headers)
    req.xhRequest.setRequestHeader(name, req.headers[name]);
    req.xhRequest.send(req.postData);
    if (!req.async)
    Spry.Utils.loadURL.callback(req);
    catch(e) { req = null; Spry.Debug.reportError("Exception
    caught while loading " + url + ": " + e.message); }
    return req;
    Apparently running (req.xhRequest.send(req.postData);) in IE
    will throw an error if the requested page throws an error status
    code. This causes the try/catch in the Spry function to catch the
    IE error and never allows my own error handler to run. Hopefully a
    fix for this will be in the works because I really like the idea of
    being able to use my own error handler.
    --------Edited after initial post.--------
    Ok, I figured out another item of interest. My requests
    earlier were set to "async = false". If I set "async = true" then
    it does work. I realized that because I was using sychronous mode
    and IE was throwing the error, it was preventing the call to the
    "Spry.Utils.loadURL.callback" method from occuring, while asynch
    mode uses the onreadystatechange to call the function and thus
    causes my own error handler to function. I am still interested to
    know if there is a bug here somewhere and if it is just IE or Spry
    or both. Looking forward to reading any posts.

    Hi WraithBudde,
    Thanks for all the details. In my opinion this is indeed a
    bug in Spry for the synchronous case. I'll file a bug and fix it.
    > You know you love me.
    Heh, yeah, I love anybody who takes the time to report bugs
    ... especially when they've narrowed it down to the exact set of
    lines in the source.
    Once again ... THANKS!
    --== Kin ==--

  • Flex bug in global error handling

    My application's global error handler (uncaught error handler) works mostly, but I found a case where it doesn't work, but should.  Before I filed an official bug report I wanted to post the issue here.
    Here is the issue: in a module, ErrorEvents that are not listened for  and are dispatched by a Flex component are never caught in the application's uncaught error handler. 
    I have a sample project that demonstrates this.  Here is the module in my test case:
    <?xml version="1.0" encoding="utf-8"?>
    <s:Module xmlns:fx="http://ns.adobe.com/mxml/2009"
                 xmlns:s="library://ns.adobe.com/flex/spark"
                 xmlns:mx="library://ns.adobe.com/flex/mx">
    <fx:Script>
        <![CDATA[
            private function onClickSparkDispatch():void {
                dispatchEvent( new ErrorEvent( ErrorEvent.ERROR, false, false, "test" ) );   // this isn't caught in the uncaught error handler
            private function onClickNonSparkDispatch():void {
                var nonSparkDispatcher:EventDispatcher = new EventDispatcher();
                nonSparkDispatcher.dispatchEvent( new ErrorEvent( ErrorEvent.ERROR, false, false, "test" ) );  // this is caught in the uncaught error handler
        ]]>
    </fx:Script>   
        <s:HGroup>
            <s:Button label="Module Spark Dispatch (broken)" click="onClickSparkDispatch()" />
            <s:Button label="Module Non-Spark Dispatch" click="onClickNonSparkDispatch()" />
        </s:HGroup>
    </s:Module>
    Using Flex 4.6
    My application statically links in the Flex SDK ("merged into code" in Flash Builder).
    My applications works around these two exsiting bugs:
         https://bugs.adobe.com/jira/browse/SDK-28018
         http://blogs.adobe.com/aharui/2011/04/catching-uncaughterror-in-flex-modules.html
    Is this a bug?
    Thanks,
    Rick

    It’s been reported.  Here is more information and a workaround. http://blogs.adobe.com/aharui/2011/04/catching-uncaughterror-in-flex-modules.html

  • AIA error handling solutions

    Hi All,
    Could anyone please help me out understanding, what are solutions available from the AIA error handling perspective??
    Thannks,
    Santosh

    If you have used AIA Life Cycle to create your composites, then by default it will have exception handling part associated with it.
    On top of it you can use the Work List application to track your exceptions and fault policy management as well.
    http://docs.oracle.com/cd/E17904_01/doc.1111/e17364/configerrhandl.htm
    http://docs.oracle.com/cd/E21764_01/doc.1111/e17366/chapter13.htm
    Fault Policy Management
    http://ofmxperts.blogspot.co.uk/2011/11/basics-of-fault-management-framework-in_23.html
    Thanks,
    Vijay

  • How to exit from while loop

    Hi
        I want to exit from loop if error is encountered.
    THanks

    Hi Sonu,
    This is not a question related to the SDK. This is more of a coding question you should probably try something like StackOverflow or MSDN forums for that next time.
    Regarding your question it depends on the language you are using. If you are using c# you can use the keyword "break;" inside an if that checks for the error. In VB you can use "Exit For" or "Exit While".
    Best regards,
    Pedro Magueija

  • How do we exit from a sub procedure

    Hi,
    I am calling a sub procedure from my plsql procedure. If an error occurs in the sub-procedure, it should exit from the appilcation.
    return gets the control back to the called procedure. but is there a way to stop the execution totally?
    Thanks,
    Narayan

    Raise an exception that is not handled in the sub-procedure nor in the main procedure.

  • Exiting from a function module.

    Hi,
    I have a function module in which i am extracting output message from NAST based on vbeln.
    I record is not found, then i am updating return table with error message using 'MESSAGE_TEXT_BUILD'.
    Now i have to exit from the function module as my select statement is unsuccessful.
    how do you do this?
    can i use subroutines in a function module?
    thanks,
    Sandeep

    Hi Sandeep,
    You can use EXIT statement to exit out of the FM.
    Yes, you can use sub-routines in Function Module. If you are using EXIT inside a sub-routine, the program control will come out of sub-routine and not the FM> So if it is inside a sub-routine, return sy-subrc value as a parameter of the sub-routine. Outside the sub-routine, check the value and use EXIT statement accordingly.
    Best Regards,
    Ram.

  • An error occurs when trying to exit from ALV report

    Hi,
    I have a report which imports and display in ALV data from an excel file. Unfortunately when I'm trying to exit I receive an error as I copied below.
    Runtime Errors         MOVE_TO_LIT_NOTALLOWED_NODATA
    Date and Time          17.10.2008 08:39:18
    Short text
         Error at assignment: Overwritten protected field.
    What happened?
         Error in the ABAP Application Program
         The current ABAP program "SAPLSLVC_FULLSCREEN" had to be terminated because it
          has
         come across a statement that unfortunately cannot be executed.
    Error analysis
         A new value is to be assigned to the field "<L_BOX>", although this field is
         entirely or partly protected against changes.
         The following are protected against changes:
         - Character literals or numeric literals
         - Constants (CONSTANTS)
         - Parameters of the category IMPORTING REFERENCE for functions and
         methods
         - Untyped field symbols not yet assigned a field using ASSIGN
         - TABLES parameters if the actual parameter is protected against changes
         - USING reference parameters and CHANGING parameters for FORMs, if the
         actual parameter is protected against changes and
         - Accesses using field symbols if the field assigned using ASSIGN is
         protected (or partially protected, e.g. key components of an internal
         table with the type SORTED or HASHED TABLE) against changes
         - Accesses using references, if the field bound to the reference is
         protected (or partially protected) against changes
         - External write accesses to READ-ONLY attributes,
         - Content of a shared object area instance accessed using a shared lock
         (ATTACH_FOR_READ).
    Trigger Location of Runtime Error
         Program                                 SAPLSLVC_FULLSCREEN
         Include                                 LSLVC_FULLSCREENF02
         Row                                     686
         Module type                             (FORM)
         Module Name                             MARKS_SAVE
    How can I solve the problem ?
    Thanks
    Stefan

    Hi ,
      Please check the GUI status you are using for the ALV.
    Looking at the code what i feel is that the error occurs when the user action is the code &SAL' or '&ALL'.
    Please put a break point at the statement and see why is the error occurring
    Regards,
    Arun

  • Exiting from OSB pipeline when application error occurs

    Hi
    My proxy exposes 3 operations to the consumers though WSDL with different inputs and similar output formats. For all these 3 operations there is a common service to be called before actually get into the operational branch that i created for handling these operations. so the message flow would be like below:
    pipelinepair1 -> stage1 in pipeline1 ->service callout -> opeartional branch.
    I am manipulating the response n respone line of pipeline1 for all the operations as its similar strcuture. If an application error arises in service callout the error will be in the body. so if the error raise i should directly exit from message flow in service callout itself wthout proceeding to operational branch. So i tried with reply action, though i am existing from OSB its not going into response pipeline of pipelinepair1. How can i handle this scenario? i don't want to put the same thing in service callout response pipeline again. Please let me know your insights.
    Thanks
    Siva

    This could be done in different ways... why you need to manipulate the response in response pipeline only.
    When your service call out fails do a 'Raise error' action.. and process the reply in stage error handler which will complete with a "reply with failue ( or success) action. if you have not configured an stage error handler, you need to do this in the service error handler.
    As this is an error case it is apt you handle this at the error pipeline( stage or service error handler) rather than the response pipeline.

Maybe you are looking for

  • Process a PDF File to an ABAP Proxy

    Hello, Does anyone know how to process a pdf file straight to an abap proxy. With just a flat sender file adapter without conversion to a xsd:Base64Binary field straight to a Abap-proxy. Error message : SAP:Code area="ABAP">PARSE_APPLICATION_DATA</SA

  • How do i stop yahoo becoming my default search engine

    how do i stop yahoo becoming my default search engine?

  • Where should I report phishing?

    I have received such an email. Is this phishing? where should I report it? Dear Customer, Due to concerns, for the safety and integrity of the Apple account we have issued this warning message. It has come to our attention that your account informati

  • ICal printer defaults

    Every time I go to print out my calendar, I have to reset the printer preferences. I would like a default option that leaves the printer preferences as they were during the last printing session. Is there any way to do this now?

  • Hi, may i know how to resume the print job from HP P1102w?

    I've configured the P1102W as ePrinter if there anyway to resume the printer in stead of cancel the print job when the printer out of paper?