Programming :: Exception Handling In Perl?
May 12, 2010I writed Quote:
#!/usr/bin/perl -w
use Error qw(:try);
try {
[code]....
I writed Quote:
#!/usr/bin/perl -w
use Error qw(:try);
try {
[code]....
To parse several XML documents I'm using libxml++. I do programming for linux angstrom-armv5te. Because compiling libxml++ for this distribution and platform was impossible, I simply included the library to my project, which workes fine. Unfortunately I'm not able not use the exception handing which effects that a simple error inside a documents makes my whole program crash. This should not happen.
Is there a way to check the documents validity before parsing or better active the exception handling for doing this.
i have some perl codes for using ldap,but i don't know why don't work any error handling When i use msg->code for sample. an example:
[Code],,,,
In this case,if $msg->code return zero(or null) every thing work correctly but if it not zero don't give any message(eg."error result").What is problem?
I want to compile ekiga 3.0.2 for ubuntu 10.04. But when I enter 'make' command in the terminal windows, it says that;
[Code]...
I tried to solve the problem by setting CFLAGS = -fexceptions, in the Makefile. But it didn't work.
I'm just starting out on a project relating to web search, to be done in C++. Which library should I use to help with downloading web pages into memory so that I can process them? The big thing is I want to be able to download the pages into variables/structures without actually putting them onto the hard disk.I googled and saw libcurl, but I was confused by some of the examples and wondering if this was really what I wanted.
View 2 Replies View RelatedI wonder how error handling is done in C in real applications, by returning a error code when something goes wrong, or by using setjmp and longjmp, or something else?
View 10 Replies View RelatedI have created a pthread, and installed a signal handler inside that, same way as we do in main( ) function. The thread's signal handler is a separate function. Surprisingly, it is not working, that is the thread's signal handler is not able to catch signals. Here is the code:
Code: #include <unistd.h>
#include <sys/types.h>
#include <stdio.h>
#include <signal.h>
typedef struct data
[Code]...
I found, in bash, something similar to 'try/except' in python. I've been using something like this:
Code:
if ! 'command';then
echo 'damn, there was an error'
[code]....
During my read, "Code Complete",the author described the different ways of handling the ADT interface.He has wrote this passage:
Quote:
Option 2: Explicitly provide the data used by the ADT services. In this approach, you declare the data that the ADT uses within each routine that uses an ADT service. In other words, you create a Font data type that you pass to each of the ADT service routines. You must design the ADT service routines so that they use the Font data that's passed to them each time they're called. The client code doesn't need a font ID if you use this approach because it keeps track of the font data itself. (Even though the data is available directly from the Font data type, you should access it only with the ADT service routines.This is called keeping the structure "closed.") The advantage of this approach is that the ADT service routines don't have to look up font information based on a font ID. The disadvantage is that it exposes font data to the rest of the program, which increases the likelihood that client code will make use of the
ADT's implementation details that should have remained hidden within the ADT.
The problem is that it is a bit subtle in terms of coding for me. Can anybody give more concrete example, in working codes, especially in Java?
I have a script that connects to a windows server, downloads a file, appends to it and then re-uploads the updated file. I want to implement error handling. An email is to be generated indicating whether there was an error or not. This email should include all standard and error output as a body. The current script looks something like this:
Code:
function Email_ServerSupport {
for time in once; do
echo "Subject: Billing - smb copy to accounting" $1
cat /tmp/smbx
cat /tmp/smbxerr
done | mail $EMAILADDR
}
/usr/bin/cp /dev/null /tmp/smbx
/usr/bin/cp /dev/null /tmp/smbxerr
cd /tmp
/usr/sfw/bin/smbclient $LOCATION -A $AUTHFILE >>/tmp/smbx <<EOF
get $OUTFILE
exit
EOF
cat $INFILE >> $OUTFILE
/usr/sfw/bin/smbxclient $LOCATION -A $AUTHFILE >>/tmp/smbx <<EOF
put $OUTFILE
cat /tmp/smbx | grep -v "Domain" | grep -v "putting file" | grep -v "getting file" >> /tmp/smbxerr
if [ -s /tmp/smbxerr ]; then
Email_ServerSupport " ERROR"
exit
else
echo "Transfer successful."
Email_ServerSupport " SUCCESS"
fi
The reason for the grep -v's is because, from my understanding, when using smbclient, ALL output goes to stdout, even errors. For this reason, I need to filter out lines including "domain" "putting file" or "getting file", all of which aren't errors. The problem is that even though the script seems to catch errors successfully now and then, the success email ends up blank (/tmp/smbx is somehow empty). I'm also worried it could miss possible errors I haven't tested. I'm thinking it has to do with the way "EOF" functions. Is there any way to capture output from the "put" and "get" commands? I can't simply redirect the output, can I?
i had a problem with the find command in bash (which i deem is close enough to a promming language, if not please move this thread :P). i tried to reduce the command to the problem. i want the backticks, or $() for that matter; to be evaluated by -exec of find, not by bash. is that a caveat of find?
Code:
$ find testd -exec echo `basename {}` ; #confused me
test
test/a
test/b
[code]...
edit: i found out whats causing this. `basename {}` gets evaluated by bash before find is invoked, returns {} and `find . -exec echo {} ;" is run. now my question is, how to escape this eveluation from happening before.
I have this little shell script which copies file names taken from inputfile:
Code:
while read line; do
cp -i $line something
[code]...
I am writing an application that uses POSIX thread. I am spawning a threads and threads performs task in infinite loop .I have another monitor which monitors the activities of these threads. Due to some reason I have to kill one thread from monitor thread. so I use pthread_cancel() . It terminates thread however it throws exception. I searched about the exception on internet and i am able to catch the exception and handle it as well . However the exception is not thrown every time . I wanted to know under what circumstances it throws exception. Accordingly I have to write cleanup handler
View 1 Replies View RelatedI have a system setup script for my Slackware installations that pulls all packages and source files from another machine and sets everything up to be identical between machines. The script works as expected but make it entirely unattended. How do I make the bash script deal with automatically selecting "Yes" for, for example "Install x(Yes/No): " when prompted by a make file?
View 3 Replies View RelatedI have perl/tk installed and working. I tried using c++/tk and had to change the #include path in the headers to find the tk.h and tcl.h. I tried compiling a simple c++ program with g++ to test that the headers are correct. the line i type at console is:
g++ test.c cpptk.cc cpptkbase.cc -o test.bin
I fixed all previous errors, except for the following.
code....
In a single main() function,so need signal handling. Use Posix Message Queue IPC mechanism , can ignore the priority and other linked list message,to implement the scenario:
View 1 Replies View Relatedworking on a script to update .Jar file, I have tried jar xf to unpack and jar cf to repack it is giving me java.lang.NoClassDefFoundError exception at main class. I also tried jar uf, which is also not working for me Basically my jar file requires to update date, which i do from "winrar" Manual it works fine, but now to remove "Donkey work", i want to make an script which does this all automatically, and the last stage is to update jar file which is not happening.
View 1 Replies View RelatedI've written a simple server in linux used fork to create a FIFO pipe.The server create two FIFO pipe.One for server read data from client and write data to client.Then another pipe for client read data from server and write data to server.When the server read data from a client used server-pipe and then write data to client.But ,if the client no read open the pipe,the server side write will be crashed because of a broken-pipe SIGPIPE. How to check whether the read side is opened?Or,how to catch the SIGPIPE,and then my server will still execute on,not crashed!!
View 5 Replies View RelatedWhere is the perl module for programming with sockets?
View 4 Replies View RelatedI just downloaded Tk-804.028 and try to install it (according to the README.linux) but I get:
> perl Makefile.PL
/opt/ActivePerl-5.10/bin/perl-static is installed in /opt/ActivePerl-5.10/lib okay
PPM for perl5.010001
Test Compiling config/perlrx.c
Test Compiling config/pmop.c
Test Compiling config/pregcomp2.c
[code]...
Any recommendations on what Perl tutorial to use?
View 1 Replies View RelatedI am taking an input from the user for free and Used capacity in a disk. I wish to convert Input entered in MBTB to GB and this is how i am doing it.
Code:
<some code>
print "Enter Total disk space";
$tot = <STDIN>;
convert($tot);
[code]...
how do i pass the value of conv[0] after conversion back to $tot or $use such that they contain only value which is in GB?
I really would like Perl Qt4 bindings. The best I could find is this:[URL]The problem is that the sources would not compile, and the RPMs are for 32-bit machines.Is there really no such thing as good Perl Qt4 bindings?
View 8 Replies View RelatedI am a newbie on linux and just searching everything about perl scripting and modules nearly 3-4 days. I need a perl script but one of not easy to find on searching google. Okay now I need a perl script which create or recreate (edit) id3 tags (artist, comment, album, year, cover) of mp3 files stored on my linux centos server. I installed MP3::Tag version 1.13 pearl module to my server. I Searched tutorials about how to use it, finally I get through reading id3 tag of mp3 file but not achieve to modify it or create a new id3tag.
These are the details:
I have a mp3 file called 1.mp3 this script will process that '1.mp3' file read its id3tag if there is one, than modify or create id3tag for it by my fix artist name for example:
'1.mp3' files id3 tag details are like this
Artist: Dj xx
Year:2010
Title:yyyyy
Comment:eerwer
Cover: x.jpg
Now via this perl script which uses MP3::TAG I will change it's
artist as YYY
Title:ttt
Comment:cool
Cover:t.jpg
these are gonna be my fixed values. I mean all '1.mp3' file will have same artist based on script value.
The reason of this script is I will share Dj podcasts on my server and Dj's would have upload their mp3's which has got different id3 tags and cover pics. etc. I want to create more organized podcasts of them by the way I would trigger this perl script via Cronjob.
How can I generate a md5 or sha-1 code with perl?
View 2 Replies View RelatedAs some of you know that I am new to this forum. I have another problem that I got stuck on. I have this file called "Fib.rbb" and my instructor told us to write an interpreter program by using Fib.rbb.
"You are to write an interpreter in Perl for Rongs Basic Basic (RBB) as explained in class. The BNF description for RBB and a test file called Fib.rbb are part of the RBB.zip file which is available in the Course Documents folder on blackboard. If you call your interpreter myIntp.pl, you would execute the program via perl myIntp.pl Fib.rbb
Code: Print "A few Fibonacci numbers:"
Just installed Fedora 14. I wanted to try "Hello World" with perl. But where is it?
Code: [user]@user bin]$ ls
Im somewhat new at perl and was wondering if there was a way to run a perl script or tool made from perl, from a USB pen that would work both on Linux and on Windows?
View 1 Replies View RelatedI writed my home.html page in /var/www with following form:
Quote:
<form action="/cgi-bin/login.cgi" method="get" class="form-font">
<label>Already you registered?</label><br/><hr/><br/>
<fieldset><br/>
<legend>Insert your account</legend>
Email: <input type="text" name="email"/><br/><br/>
[Code].....
I'm the server guy which is why I don't know this, but were staging a new webserver and we use some custom perl scripts and as were moving the site over for testing, apache is blowing a perl error;Can't locate web.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at /home/mcp/htdocs/cgi-bin/newgraph.gif line 11.,Now I can copy that file local, but there are a bunch of things, so the question is how do you globally add a folder to the perl search path
View 1 Replies View Related