---
title: "try/catch-block?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/167683-try-catch-block"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Travoni"
published: "2007-12-31T01:17:45.000Z"
updated: "2007-12-31T11:57:39.000Z"
replies: 6
views: 556
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/167683-try-catch-block"
---

# try/catch-block?

## #1 — Travoni, 2007-12-31T01:17Z

Sitter try/catch-blocket "fel" eller finns det ett bättre sätt att göra på?

```
function containsDOM(a,b){
  var c=false;
  [B]try{[/B]
    do{
      if((c=a==b))break;
      b=b.parentNode
      }
      while(b!=null);
      return c
      }
  [B] catch(e){return c}[/B]
      };
```

Permalänk: https://www.webforum.nu/p/167683

## #2 — Troxy, 2007-12-31T01:39Z

Skippa do. En try...catch i JavaScript ser bara ut såhär:

```
try {
   // Försök här
} catch (e) {
   // Fånga här
}
```

Permalänk: https://www.webforum.nu/p/2067051

## #3 — nitro2k01, 2007-12-31T02:43Z

> **Troxy skrev:**
>
> Skippa do. En try...catch i JavaScript ser bara ut såhär:

Fast **do** har ju inget med try att göra där. **do** ser bara till att while-slingan får köra en första runda oavsett vad.
Även om koden är väldigt knasigt indenterad ser den korrekt ut i mina ögon. Dock ser jag inte meningen med **try**/**catch** här. Under vilka omständigheter uppstår det fel?

Permalänk: https://www.webforum.nu/p/2067053

## #4 — Troxy, 2007-12-31T04:20Z

> **nitro2k01 skrev:**
>
> Fast **do** har ju inget med try att göra där. **do** ser bara till att while-slingan får köra en första runda oavsett vad.

Aha så JavaScript har blivit välsignat med en do-sats? Det var en nyhet för mig.  :e 
Jag tolkade alltså Travonis kod helt fel...  :r

Permalänk: https://www.webforum.nu/p/2067056

## #5 — Travoni, 2007-12-31T10:17Z

Tack för svar. 

> Under vilka omständigheter uppstår det fel

Jo i FF så får jag : 
*uncaught exception: Permission denied to get property HTMLDivElement.parentNode*
Så därav try/catch.
Jo, jag vet, indenteringen suger. Jag kan inte det i JS.

Permalänk: https://www.webforum.nu/p/2067071

## #6 — zcorpan, 2007-12-31T10:55Z

```
function containsDOM(a, b) {
  var c = false;
  try {
    do {
      if ((c = a == b))
        break;
      b = b.parentNode;
    } while (b != null);
  } catch(e) {
  }
  return c;
}
```

Fast jag tror att du har ett annat problem om Firefox ger ett säkerhetsundantag. Försöker du inspektera en div i en iframe eller liknande?

Permalänk: https://www.webforum.nu/p/2067082

## #7 — Travoni, 2007-12-31T11:57Z

Ok, nej det är en sådan här mouseover/out grej:

```
<html>
<head>
<title>onmouseenter/leave for IE4+, Netscape 6+, Opera 7</title>
<script type="text/javascript">

function containsDOM (container, containee) {
  var isParent = false;
  do {
    if ((isParent = container == containee))
      break;
    containee = containee.parentNode;
  }
  while (containee != null);
  return isParent;
}

function checkMouseEnter (element, evt) {
  if (element.contains && evt.fromElement) {
    return !element.contains(evt.fromElement);
  }
  else if (evt.relatedTarget) {
    return !containsDOM(element, evt.relatedTarget);
  }
}

function checkMouseLeave (element, evt) {
  if (element.contains && evt.toElement) {
    return !element.contains(evt.toElement);
  }
  else if (evt.relatedTarget) {
    return !containsDOM(element, evt.relatedTarget);
  }
}

</script>
</head>
<body>

<div style="border: 1px solid green;"
     onmouseover="if (checkMouseEnter(this, event)) {
                    window.status = event.type;
                  }"
     onmouseout="if (checkMouseLeave(this, event)) {
                   window.status = event.type;
                 }">
 Kibology for all.
 <br>
 <a href="http://www.kibo.com/">Visit GOD</a>
 <br>
 All for Kibology.
</div>

<hr>

<div style="border: 1px solid green;"
     onmouseout="if (checkMouseLeave(this, event)) {
                   this.style.visibility = 'hidden';
                 }">

 This div element with the green border gets hidden when the mouse 
leaves the div.

<div style="border: 1px solid blue;">
 Child div with blue border.
</div>
 Kibology for all.
</div>

<hr>

<div style="border: 1px solid green;"
     onmouseover="if (checkMouseEnter(this, event)) {
                    this.style.visibility = 'hidden';
                  }">

This div element with the green border gets hidden when the mouse enters
the div.
```

Permalänk: https://www.webforum.nu/p/2067098

---

Tråden på webben: https://www.webforum.nu/amne/javascript/167683-try-catch-block
