|
Excellent! Thanks
There are two kinds of people in the world: those who separate humankind in two distinct categories, and those who don't.
"I have two hobbies: breasts." DSK
|
|
|
|
|
OK Go's optical illusion music video is mind-blowing.
ATTENTION:
This video will not play. You currently do not have Adobe Flash installed on this computer. Please click here to download it (it's free!)
Actually I do, but I turned on ActiveX Filtering in IE 11.
YouTube to the rescue http://www.youtube.com/watch?v=m86ae_e_ptU[^]. Might be OK with some good music, muted it for now.
You'll never get very far if all you do is follow instructions.
modified 20-Jun-14 20:26pm.
|
|
|
|
|
Pretty cool!
Still can't beat the best music vid of all time: The Prodigy - Smack My B*** Up
It's an OO world.
public class SanderRossel : Lazy<Person>
{
public void DoWork()
{
throw new NotSupportedException();
}
}
|
|
|
|
|
Nah, Bloodhound Gang - The Bad Touch.
You'll never get very far if all you do is follow instructions.
|
|
|
|
|
Reminds me of... GWAR - F*** An Animal!
Hilarious if you aren't easily shocked and don't take it seriously (as was intended by the artist)
And if that's your kind of (twisted / infantile) humour of course
It's an OO world.
public class SanderRossel : Lazy<Person>
{
public void DoWork()
{
throw new NotSupportedException();
}
}
|
|
|
|
|
Been using Ubuntu for a little while now, and Chome is very very buggy!
Much better on Windows, good going Google!
|
|
|
|
|
Did you download the latest or a stable release?
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
and Chome is very very buggy!
I don't think so. I also used Chrome on Ubuntu tool.
|
|
|
|
|
|
|
Not with the Data collection. And in some cases I fill a DataTable with the Exception and its InnerExceptions, one per row. There can be other reasons to investigate each as well.
See also this recent Tip: Simple Log[^]
You'll never get very far if all you do is follow instructions.
modified 20-Jun-14 18:17pm.
|
|
|
|
|
My default thinking on this would be recursion.
LogException (Exception ex)
{
if( ex ==null )
return;
LogException( ex.innerException );
}
|
|
|
|
|
Recursion is unnecessary and could lead to a stack overflow; best to avoid it here. If an Exception had a collection of InnerExceptions, I would probably use recursion.
You'll never get very far if all you do is follow instructions.
|
|
|
|
|
PIEBALDconsult wrote: Recursion is unnecessary and could lead to a stack overflow;
If your exceptions have recursed infinitely to lead to a stack overflow when drilling into InnerException, then I think you have a much bigger problem.
Marc
|
|
|
|
|
PIEBALDconsult wrote: But VB doesn't support that construct, does it? In a similar way that C# only allows throwing exceptions
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
What else would you throw?
You'll never get very far if all you do is follow instructions.
|
|
|
|
|
20[^]
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
I like it. Now I have something else to add my (short) list of things I don't like about C# and .net .
You'll never get very far if all you do is follow instructions.
|
|
|
|
|
Yes, we must strive to make the code obfuscated; that way it will be less maintainable in the future.
Oh, and don't forget to not document what you're doing and why.
|
|
|
|
|
Oh. Sorry. I'll get right on that.
You'll never get very far if all you do is follow instructions.
|
|
|
|
|
not to break your enthusiasm for everything looping but... how about?
exception.GetBaseException()
Go ahead, look it up!
|
|
|
|
|
How would that help?
You'll never get very far if all you do is follow instructions.
|
|
|
|
|
Well, if my English and the documentation didn't work for you, maybe the code will?
class Program
{
static void Main(string[] args)
{
Do(() => M(null, "one"));
Do(() => M(() => M(() => M(null, "three"), "two"), "one"));
Console.ReadLine();
}
static void M(Action a, string err)
{
try { if (a != null) a(); }
catch (Exception e) { throw new Exception(err, e); }
throw new Exception(err);
}
static void Do(Action a)
{
try
{
a();
Console.WriteLine("All Good");
}
catch(Exception e)
{
var @base = e.GetBaseException();
var top = e;
while (top.InnerException != null)
top = top.InnerException;
Console.WriteLine("Exceptions!\t e == base {0}, top == base {1}", e == @base, top == @base);
}
}
}
|
|
|
|
|
I know what it does, but the point is to log all the exceptions, not just the first and last.
You'll never get very far if all you do is follow instructions.
|
|
|
|
|
Oh well, it was not apparent in your example that you wanted to log all intermediary exceptions...
Arguably it's not really necessary either, what do these intermediary exception tell you that you need to fix?
|
|
|
|