Search Results

Search found 17850 results on 714 pages for 'cant tell'.

Page 379/714 | < Previous Page | 375 376 377 378 379 380 381 382 383 384 385 386  | Next Page >

  • Ubuntu VPN Server (PPTPD) Configuration - Pass Traffic to Internet

    - by SnAzBaZ
    I am trying to configure PPTPD on my Ubuntu box to pass all VPN traffic through to it's internet connection, so I essentially want it to work like a Proxy. I think the problem is that no default gateway is being assigned to my PPTP client (Windows 7). I can connect to the VPN fine, I get an IP address and DNS servers but no default gateway. Do I need to configure a specific option to tell the VPN server to forward all traffic it receives down it's eth0 port and out to the internet. Thanks!

    Read the article

  • 13 IP addresses, how to add them to domain SPF?

    - by Willy
    Hi All, Let say I have these IP addresses on my server: 170.120.210.209 gateway 170.120.210.210 server IP 170.120.210.211 170.120.210.212 170.120.210.213 170.120.210.214 170.120.210.215 170.120.210.216 170.120.210.217 170.120.210.218 170.120.210.219 170.120.210.220 170.120.210.221 170.120.210.222 I am now willing to setup SPF record for my domain but don't want to write each IP one by one. Could you please tell me the short way of this? How can I convert these IP addresses into CIDR notation? Is this correct? 170.120.210.210/28 Thanks for your help.

    Read the article

  • OpenOffice Calc: How can I count the number of different items with data pilot?

    - by manu
    Hi all, I have a rather long spreadsheet with historical information of issues solved by some user on a colaborative environment. The spreadsheet have the following (relevant) columns date, week no., project, author id, etc... The week no. is calculated from the date, is basically the year concatenated with the week number within that year; for instance, both 2009-02-18 and 2009-02-20 yield the week number 200908 - the 8th week of year 2009; and 2009-02-23 yields 200909 - the 9th week of year 2009. I need to count how many different users (given by author id) contributed to some project, on a weekly basis. I have setup a data pilot with the week as Row Field, the project as the Column Field, and count-author as the Data Field. However, this counts the author id as different instances. This is not what I need. I need to count how many different users contributed to each project on a weekly basis. I expect to get something like: projects week Project1 Project2 Project3 200901 10 2 200902 2 7 Each inner cell containing how many different users contributed. With the count-author configuration, what I get is how many contributions (total) got the project on that week. Is there a way to tell OpenOffice Calc to do what I want?

    Read the article

  • How to make phone calls using a pc, modem, headphone and no actual phone instrument

    - by user18151
    Hi, I have a phone landline connection and I DO NOT have a phone instrument. I connect the cable into my laptop, and want to make calls using my laptop. I have an HDA CX20561 modem. I seem to be able to dial number using dialer.exe, though nothing seems to happen. From Microsoft kb http://support.microsoft.com/kb/958143, it looks like dialer.exe alone is not enough for the call. Can somebody tell me how to make and receive phone call with whatever hardware I have, i.e. what software will I need. Thanks.

    Read the article

  • Emails intended as HTML are received as plain text

    - by Jeremy
    I'm regularly receiving emails from a well-known public website that read as plain text without carriage breaks or effective hyperlinks. My email client is Thunderbird. Thunderbird helpsite doesn't display an answer. And I'm reluctant to complain to the website if the problem is at my end. Message source for headers includes this: Content-Type: multipart/alternative; boundary=--boundary_9338_03b8c925-816e-4b55-95c4-b2593da7e5f6 The content in message source that follows the header is preceded by this: ----boundary_9338_03b8c925-816e-4b55-95c4-b2593da7e5f6 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 The content itself in message source reads typically like this: PCFkb2N0eXBlIGh0bWwgcHVibGljICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9u YWwvL0VOIj4NCg0KDQo8aHRtbD4NCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVu, etc.,etc. And, as I've said, the message in the viewing pane is unadulterated plain text. Can you tell me - where is it all going wrong? Thanks.

    Read the article

  • how do I update php on centOS?

    - by matteo
    I have php 5.1.6 installed on a centOS server, and I need at least 5.3.2 (but would rather install the latest available 5.* version). If I run yum update php it says it will update to 5.1.6-34.el5_8 (mine is 5.1.6-27.el5_5.3)..... what the heck???? Are the available packages for centOS THAT much behind the current version, or is it because yum will by default only update within the subversion after the second dot (or something) and I need to tell it to give me a more recent version? If so how do I do that?

    Read the article

  • GAC and SharePoint

    - by Sahil Malik
    SharePoint 2010 Training: more information GAC and SharePoint have had a funny love & hate relationship. In 2007, SharePoint and GAC fell in love. GAC was about the only practical alternative to deploying custom code. Here is a dirty secret, based on completely unscientific and unfounded research, I can tell you that 99% of SharePoint code written, ended up in the GAC. Yes, I know GAC rhymes with hack, crack, smack, and even mac, but still it was the better alternative. You could write CAS policies and put your DLLs in the bin folder, but it was mighty inconvenient to both write, and maintain. Most of us never did it. There are still some SharePoint developers out there insisting on the bin approach – well, get over it; you’re not winning the fight. CAS is about as outdated as Samantha Fox anyway. It was hot at one point though. So all that code that ended up in the GAC caused lots and lots of headache. Clearly, Microsoft had to get us off the crack, uhh .. I mean the GAC. In Read full article ....

    Read the article

  • Is the Zune HD's audio card better or worse than the iPod touch's?

    - by MatthewThepc
    Firstly, if this is the wrong site to ask this question I apologize, but I didn't see one for "music players" on the stack exchange website :) After reading a few people online say that music playing from a Zune HD sounds better to them than that on an iPod touch, I was wondering whether there's any truth to that? From what I can tell, the Zune HD uses a Wolfson Microelectronics WM8352, while the first-generation iPod Touch (which the Zune HD was competing with) used a Wolfson Microelectronics WM8758BG, and newer models use the Cirrus Logic CS4398 and CS42L61. Which ones are better (to make the question less subjective, let's say in terms of quality, range, & accuracy of output)? Admittedly, I have almost no idea how everything compares and works together, but it would seem to me that, just by looking at the version numbers, the iPod has been better since it's launch. Is there anything else that effects sound quality? Thanks!

    Read the article

  • failed to use mutt to send mail to company mailbox

    - by Acewind
    I'm using mutt&postfix on CentOS 6.2: mutt-1.5.20-2.20091214hg736b6a.el6_1.1.x86_64 postfix-2.6.6-2.2.el6_1.x86_64 When I try to send mail to my company mailbox, I receive an error: mutt -s "test" [email protected] < /home/mail.txt error from postfix: : host out1.ourcompany.com[10.30.17.100] said: 555 Syntax error (in reply to MAIL FROM command) Then I try to use service sendmail as SMTP server, but also failed: **----- The following addresses had permanent fatal errors ----- (reason: 555 Syntax error) ----- Transcript of session follows ----- ... while talking to out1.ourcompany.com.: MAIL From: SIZE=667 <<< 555 Syntax error 554 5.0.0 Service unavailable** Any body can tell me why? Thanks!!!! I can make sure DNS is OK, and I set realname "root@myserver" in /etc/Muttrc

    Read the article

  • Call for papers for Oracle OpenWorld and JavaOne 2012!

    - by Javier Puerta
    Organization for Oracle OpenWorld and JavaOne 2012 has started. Watch out for further information to come in the coming weeks. Oracle OpenWorld Exhibition and Sponsorship Opportunities Exhibiting, sponsoring and advertising at Oracle OpenWorld 2012 is your best opportunity to achieve critical marketing and sales objectives. As the world's preeminent Oracle conference, Oracle OpenWorld attracts influential users and decision-makers from customer organizations globally. Explore exhibition, branding and sponsorship opportunities now. Register NOW and Save - Super Saver Period Ends 30. March Register today and save $800 on your Oracle OpenWorld full conference pass. Call For Papers Opens 14. March Oracle OpenWorld Call for Papers will open Wednesday, 14. March.  Speak your mind to the world's largest gathering of the most-knowledgeable IT decision-makers, leading-edge developers, and advanced technologists. Don’t delay – the call for papers closes 11:59 PM PST on 9. April 2012. JavaOne Exhibition and Sponsorship Opportunities Exhibiting, sponsoring, and advertising at JavaOne 2012 provide premium opportunities for you to connect with a market that boasts 9 million Java developers. As the world's most authoritative Java conference, JavaOne attracts Java developers, architects, and enthusiasts from around the globe. Check out the exhibition, branding, and sponsorship opportunities available now. Register NOW and Save - Super Saver Period Ends 30. March Register today and save $600 on your JavaOne full conference pass. Call For Papers Opens 14. March Show and Tell. Call for papers will open Wednesday, 14. March.  Lead a session and share your fresh insights and best practices to drive the advancement JavaOne. Don’t delay – the call for papers closes 11:59 PM PST on 9. April 2012.

    Read the article

  • Call for papers for Oracle OpenWorld and JavaOne 2012!

    - by Javier Puerta
    Organization for Oracle OpenWorld and JavaOne 2012 has started. Watch out for further information to come in the coming weeks. Oracle OpenWorld Exhibition and Sponsorship Opportunities Exhibiting, sponsoring and advertising at Oracle OpenWorld 2012 is your best opportunity to achieve critical marketing and sales objectives. As the world's preeminent Oracle conference, Oracle OpenWorld attracts influential users and decision-makers from customer organizations globally. Explore exhibition, branding and sponsorship opportunities now. Register NOW and Save - Super Saver Period Ends 30. March Register today and save $800 on your Oracle OpenWorld full conference pass. Call For Papers Opens 14. March Oracle OpenWorld Call for Papers will open Wednesday, 14. March.  Speak your mind to the world's largest gathering of the most-knowledgeable IT decision-makers, leading-edge developers, and advanced technologists. Don’t delay – the call for papers closes 11:59 PM PST on 9. April 2012. JavaOne Exhibition and Sponsorship Opportunities Exhibiting, sponsoring, and advertising at JavaOne 2012 provide premium opportunities for you to connect with a market that boasts 9 million Java developers. As the world's most authoritative Java conference, JavaOne attracts Java developers, architects, and enthusiasts from around the globe. Check out the exhibition, branding, and sponsorship opportunities available now. Register NOW and Save - Super Saver Period Ends 30. March Register today and save $600 on your JavaOne full conference pass. Call For Papers Opens 14. March Show and Tell. Call for papers will open Wednesday, 14. March.  Lead a session and share your fresh insights and best practices to drive the advancement JavaOne. Don’t delay – the call for papers closes 11:59 PM PST on 9. April 2012.

    Read the article

  • Sharing VPN from XP to Linux virtual

    - by user55513
    Hi I will keep the question simple with few details, if more is needed tell me. Thanks. I am playing around with networking and virtualbox. So I have 2 virtual machines. One is windows xp and another has linux in it. Windows XP has 2 network cards. One for the internet and the other to connect to the linux computer. Linux has one 1 card and it can only access the internet passing through Windows XP. Internet works fine until I activate OpenVPN on Windows. When I turn on VPN, Linux has no access to it. How can I make linux use VPN too? I believe it has something to do with using the "route" command on XP to send VPN traffic to Linux but I was not able to figure it out how yet.

    Read the article

  • Web Developer - How to enhance my skillset?

    - by atif089
    First of all pardon my English. I am not a native English speaker I have been a Web Developer for the past 4 years. In these 4 years I have spent my time on the internet to learn things. My current skillset comprises of HTML CSS PHP MySQL jQuery (I would not say js and rather say jQuery because I am good at using jQuery and bad with plain javascript.) The above things seemed like an easier part of my life as I quickly learned them. But now I would really like to enhance my skillset and I am pretty confused which way to move ahead considering that I have to learn things using the web and references on my own. Design My first option is towards design. Shall I get started with design and start using Adobe Illustrator, Photoshop, Flash, Flex. Designing along with my previous skills looks like a money maker to me. As both are co-related to each other when web design is considered. And its easier to learn the first 2 and I hope I can get tutorials for the last 2 as well. Marketing A lot of my existing clients asked me if I do SEO. So this looked as a good field to me as well. I cannot estimate the scope of SEO but I assume it has a long future. Since I am business minded as well and there are a lot of tutorials around, should I start with SEO, SEM, Social Media, PPC or whatever it consists of. Software Development The complex plight and hardest thing (perhaps) but the easiest way to find a decent job in my location. If I go for software development what platform should be that I should be ideally going after? Should it be C# for windows development, or ASP.NET (once again enhances my skill set), J2EE (there are a lot of jobs for J2EE developers here) or plain C and C++. Also I think it is difficult to learn software languages right from Hello World, using internet? I have no clue how I learned PHP but I am sort of a pro now, but these other languages seems like a disaster to me? I cant figure out the reason if its because PHP is easier or there was a lot of tutorials around for PHP. Anyways is it also possible to learn software development right from Hello World using the web? Database / Server (Linux) / Network Administration Seems like a job with a decent pay but less number of jobs and a bit harder to learn online. (not sure) What should be the right track I should move ahead. P.S - Age is not a constraint for me as I am between 20-21, and I come from an IT background. I know quite little basics about C (upto structures) C++ (upto objects, I was not able to understand templates) Core Java (some basics and OOP concept) RDBMS Visual Basic 6 (used to do this long back) UNIX (a bunch of commands like who, finger, chmod, ls and a bit of #bash) Or is there anything else that I left out? I need you guys to please give me a feedback and the reason why I should select that field.

    Read the article

  • Customizing the windows server 2008 RDP login screen possible?

    - by moontear
    Hi, I'm working with RDP sessions quite frequently. As we work in teams and all use the same user account on a particular computer (I know...) I was wondering if there was a way to display from which computer (hostname, computername) the person is connecting. The login screen I get when two users are already connected looks like this (german): I'd love it, if the screen would display from where the logged in user is connecting e.g. "COMPUTER\user connected from MYCOMPUTERNAME". This way I would know whom to ask to disconnect so I can hop onto the session. If I remember correctly the login screen looked different for previous Windows versions including this connection information. Any way I can easily enable this or is this just standard windows behavior and there is no way to tell from where the user is connecting (btw: Task Manager shows the computername of the connected user).

    Read the article

  • Dual monitors with one above the other?

    - by Felix
    I'm using Gnome 3 and proprietary Nvidia drivers. I have tried to set in nvidia-settings my external monitor to be "above" my main one (it's a laptop). However, when I try to drag a window up from the main display to the external one, it gets stuck and can't move past a certain point. Trying to maximize it changes its decoration so it looks maximized (i.e. no borders, etc), but its size or position doesn't change. Now, if I set my external monitor to be "to the left" of the main one, it works, which is why I'm suspecting this is a Gnome issue, not an Nvidia one. Anyone know how to fix this? Update: some versions: Gnome: 3.2.2.1 Nvidia: 280.13 Update 2: I can see that Gnome 3.4 is out, and among the release notes is better external monitor support. However, they only mention a small fix that is unrelated to my problem. Can anyone with Gnome 3.4 and access to an external monitor please test this out and tell me if it works? I don't want to go through the hassle of upgrading my Ubuntu installation unless I know for certain it's going to fix the problem.

    Read the article

  • ExaLogic virtual datacenter live at Qualogy

    - by JuergenKress
    Just a quick post to celebrate another siginificant milestone for Exalogic! After a few days of preparations and some hard work we succeeded in upgrading our Exalogic quarterrack to the newly released Elastic Cloud version 2.0.1.1.0. This version was just recently released on July 25th. This new version turns your Exalogic into a virtual datacenter with many very neat cloud provisioning capabilities. There are many more possibilities in this version to provide strict network and vServer group isolation where needed and it helps you manage multitenancy and delegate your cloud administration. How did we fare? Apart from some small inconveniences and minor issues I can tell you it all went remarkably well, provided you do proper homework on the prerequisite requirements and you stick to the instructions all the way through (there’s some 37 steps to cover). We as a specialized Exalogic partner had early access to this version and did some early adopter work. As a customer this is all done for you as Oracle will deliver a new Exalogic with this version from the factory if you so desire, or upgrade your current ones. O fcourse, Qualogy can do this for you as well! Interested contact the Qualogy team [email protected]! WebLogic Partner Community For regular information become a member in the WebLogic Partner Community please visit: http://www.oracle.com/partners/goto/wls-emea ( OPN account required). If you need support with your account please contact the Oracle Partner Business Center. BlogTwitterLinkedInMixForumWiki Technorati Tags: ExaLogic,Qualogy,ExaLogic demo,Exalogic datacenter,WebLogic Community,Oracle,OPN,Jürgen Kress

    Read the article

  • Looking for a good Web Server that is cheap

    - by SoLoGHoST
    I am a Project Manager, and former Lead Developer for a software portal system that requires a forum software to run. I am in need of a server that is cheap, reliable, and supports the latest PHP (5.2+), MySQL, unlimited e-mails (preferably), a cPanel, multiple sub-domains (atleast 3+). Currently I am paying $34.95 USD/month (approx. $420 USD/year). This is too high for me to pay to keep the site running. I just recently became Project Manager and in charge of Finances and I'm extremely concerned for the future of Dream Portal. With those prices I'm not sure I'll be able to keep it running for too long. Can someone please tell me of a good server that meets all of the requirements that I listed above that is cheaper on a yearly basis? Note: Currently on a Dedicated Server with limited disk space at 15000 MB (15 GB), monthly bandwidth = 500000 MB, 50 emails limit, 20 sub-domains limit, 30 FTP accts., and 25 SQL Databases.

    Read the article

  • Microeconomical simulation: coordination/planning between self-interested trading agents

    - by Milton Manfried
    In a typical perfect-information strategy game like Chess, an agent can calculate its best move by searching the state tree for the best possible move, while assuming that the opponent will also make the best possible move (i.e. Mini-max). I would like to use this approach in a "game" modeling economic activity, where the possible "moves" would be to buy or sell for a given price, and the goal, rather than a specific class of states (e.g. Checkmate), would be to maximize some function F of the agent's state (e.g. F(money, widget) = 10*money + widget). How to handle buy/sell actions that require coordination between both parties, at the very least agreement upon a price? The cheap way out would be to set the price beforehand, maybe based upon the current supply -- but the idea of this simulation is to examine how prices emerge when freely determined by "perfectly rational" agents. A great example of what I do not want is the trading algorithm in SugarScape -- paraphrasing from Growing Artificial Societies p101-102: when a pair of agents interact to trade, they each compute their internal valuations of the goods, then a bargaining process is conducted and a price is agreed to. If this price makes both agents better off, they complete the transaction The protocol itself is beautiful, but what it cannot capture (as far as I can tell) is the ability for an agent to pay more than it might otherwise for a good, because it knows that it can sell it for even more at a later date -- what appears to be called "strategic thinking" in this pape at Google Books Multi-Agent-Based Simulation III: 4th International Workshop, MABS 2003... to get realistic behavior like that, it seems one would either (1) have to build an outrageously-complex internal valuation system which could at best only cover situations that were planned for at compile-time, or otherwise (2) have some mechanism to search the state tree... which would require some way of planning future trades. Note: The chess analogy only works as far as the state-space search goes; the simulation isn't intended to be "zero sum", so a literal mini-max search wouldn't be appropriate -- and ideally, it should work with more than two agents.

    Read the article

  • Permissionless external drive with NTFS

    - by user12889
    I have an external hard disk which has 1 partition, formatted in NTFS. I use this drive on multiple computers with a different logins on different machines, Windows XP and Windows 7. All files are plain old files, not OS encrypted or compressed. Every now and then Windows 7 does not let me access some files, citing permission problems. I can circumvent this per case by taking ownership and setting appropriate permissions. This, however, is tedious. Is there a simple way to tell Windows to not enforce or store any permissions on any file/directory on a partition?

    Read the article

  • "The protocol 'net.msmq' is not supported."

    - by Randolpho St. John
    OMG, a new lesson! Will wonders never cease? So I ran into an interesting issue setting up a WCF service to consume an MSMQ queue. I won't bother you with the details of how to actually build a WCF/MSMQ service; there are plenty of tutorials on the subject. I want to share with you an interesting error that I ran into and the surprisingly simple fix. The error occurs when attempting to generate a Service Reference or even simply browsing to the WSDL of your WCF/MSMQ service in the form of a YSOD with the following error: "The protocol 'net.msmq' is not supported." After a lot of Googling on the subject turning up plenty of questions with the same error but no answers. So I went digging into some application level config files on a server that already had a WCF/MSMQ service successfully set up by the network admin, and the answer was amazingly simple: If you are hosting an MSMQ/WCF service in IIS, you have to tell IIS to allow net.msmq protocol. It's in the advanced settings for the application or site in which you are hosting the service. .... aaaand, that's it.

    Read the article

  • Large keepalive_requests values are severely slowing-down Nginx

    - by Gil
    When running a bacon (43-byte transparent pixel) load test on Nginx, we have tried several keepalive_requests values (from 10 to 100,000) and the optimal value seems to be 10. Here are the server HTTP headers of this tiny reply: HTTP/1.1 200 OK Server: nginx/1.5.6 Date: Wed, 23 Oct 2013 12:39:45 GMT Content-Type: image/gif Content-Length: 43 Last-Modified: Mon, 28 Sep 1970 06:00:00 GMT Connection: keep-alive Nginx is twice slower with keepalive_requests 100000 than with keepalive_requests 10. Can you help understanding that result? Or tell what we do wrong? For reference, here is the nginx.conf file.

    Read the article

  • Adding a CRT display to my HP Mini laptop

    - by Ritwik G
    I tried to add a CRT display to my HP Mini. Here are the details : This is where I thought the display plug must be inserted. This is what the plug looks like: (Please tell me what this thing is actually called. I am pretty sure it is not called a plug. lol) This is where the above plug usually goes into my desktop CPU : Details of my CPU monitor, which I am trying to connect : It did not work :( You can see it not working below: (Yes, the CRT Monitor was switched on) Can this ever work ? How to make this work ?

    Read the article

  • Configure Postfix to use external MX servers for delivery of local mail if user is unknown

    - by mr.b
    I have a following setup: linux box with postfix configured to be responsible for example.com domain domain's MX servers are configured so that mail sent to example.com is sent to google mail servers several user accounts on linux machine exist (same machine also hosts example.com site) When someone from the outside attempts to send mail to address ending with @example.com, it gets routed to google mail (and there handled appropriately). When linux machine tries to send mail to outside world, mail is delivered correctly, as reverse dns and spf records are configured correctly, so linux machine is valid mail sender for example.com domain (along with google mail servers). However, here's the problem. When php application (hosted at linux box) tries to send mail to [email protected] (and someuser doesn't exist on linux box), it fails, since it doesn't even consult google mail servers, but postfix smtp locally concludes that "someuser" is unknown. So, the question is: how do I tell postfix to relay mails sent to @example.com domain to google mail servers (so, to servers specified in MX records), IF and only if a mailbox is not found locally.

    Read the article

  • Enterprise Manager Extensibility Exchange – Version 1.1 Now Available!

    - by Joe Diemer
    Since its announcement at Oracle OpenWorld 2012, the Enterprise Manager Extensibility Exchange is becoming the source to access Enterprise Manager entities, including plug-ins, connectors, deployment procedures, assemblies, templates, and more.  Based on feedback, the Exchange has recently been updated so Enterprise Manager administrators can find and access Oracle and partner-built plug-ins and connectors easier. The Exchange enables anyone to contribute an Enterprise Manager entity through the “Contribute” tab, where information about the entity is captured and placed on the Exchange once it is approved.  The Exchange encourages comment through the Enterprise Manager Forum.  An Oracle partner can build a plug-in by accessing the Extensibility Development Kit (EDK) found at the Development Resources tab.  Oracle partners and customers can can also engage a partner that has built its practice specializing in plug-in development and deployment.  One of those partners is Blue Medora, which has effectively used the EDK to build plug-ins to manage non-Oracle targets.  Next week Blue Medora will be a "Guest Blogger" and tell a great story about heterogeneous datacenter management.Partners can also have their plug-ins validated through the Oracle Validated Integration (OVI) program.  NetApp is an example of a partner that recently built an Enterprise Manager plug-in and has validated it through the program.  Check back here in two weeks for their blog post describing the value of an Enterprise Manager "OVI" plug-in as well as discuss specifics the NetApp storage plug-in.  Check out the NetApp Enterprise Manager Validated Integration datasheet in the meantime. The Enterprise Manager Exchange is located at http://www.oracle.com/goto/EMExtensibility. Stay Connected: Twitter |  Facebook |  YouTube |  Linkedin |  Newsletter

    Read the article

  • Dont Throw Duplicate Exceptions

    In your code, youll sometimes have write code that validates input using a variety of checks.  Assuming you havent embraced AOP and done everything with attributes, its likely that your defensive coding is going to look something like this: public void Foo(SomeClass someArgument) { if(someArgument == null) { throw new InvalidArgumentException("someArgument"); } if(!someArgument.IsValid()) { throw new InvalidArgumentException("someArgument"); }   // Do Real Work } Do you see a problem here?  Heres the deal Exceptions should be meaningful.  They have value at a number of levels: In the code, throwing an exception lets the develop know that there is an unsupported condition here In calling code, different types of exceptions may be handled differently At runtime, logging of exceptions provides a valuable diagnostic tool Its this last reason I want to focus on.  If you find yourself literally throwing the exact exception in more than one location within a given method, stop.  The stack trace for such an exception is likely going to be identical regardless of which path of execution led to the exception being thrown.  When that happens, you or whomever is debugging the problem will have to guess which exception was thrown.  Guessing is a great way to introduce additional problems and/or greatly increase the amount of time require to properly diagnose and correct any bugs related to this behavior. Dont Guess Be Specific When throwing an exception from multiple code paths within the code, be specific.  Virtually ever exception allows a custom message use it and ensure each case is unique.  If the exception might be handled differently by the caller, than consider implementing a new custom exception type.  Also, dont automatically think that you can improve the code by collapsing the if-then logic into a single call with short-circuiting (e.g. if(x == null || !x.IsValid()) ) that will guarantee that you cant easily throw different information into the message as easily as constructing the exception separately in each case. The code above might be refactored like so:   public void Foo(SomeClass someArgument) { if(someArgument == null) { throw new ArgumentNullException("someArgument"); } if(!someArgument.IsValid()) { throw new InvalidArgumentException("someArgument"); }   // Do Real Work } In this case its taking advantage of the fact that there is already an ArgumentNullException in the framework, but if you didnt have an IsValid() method and were doing validation on your own, it might look like this: public void Foo(SomeClass someArgument) { if(someArgument.Quantity < 0) { throw new InvalidArgumentException("someArgument", "Quantity cannot be less than 0. Quantity: " + someArgument.Quantity); } if(someArgument.Quantity > 100) { throw new InvalidArgumentException("someArgument", "SomeArgument.Quantity cannot exceed 100. Quantity: " + someArgument.Quantity); }   // Do Real Work }   Note that in this last example, Im throwing the same exception type in each case, but with different Message values.  Im also making sure to include the value that resulted in the exception, as this can be extremely useful for debugging.  (How many times have you wished NullReferenceException would tell you the name of the variable it was trying to reference?) Dont add work to those who will follow after you to maintain your application (especially since its likely to be you).  Be specific with your exception messages follow DRY when throwing exceptions within a given method by throwing unique exceptions for each interesting case of invalid state. Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here.

    Read the article

< Previous Page | 375 376 377 378 379 380 381 382 383 384 385 386  | Next Page >