Baseline Widely available
try...catch
문ì try
ë¸ë¡ê³¼ catch
ë¸ë¡, finally
ë¸ë¡ ì¤ íë í¹ì ë ë¸ë¡ì¼ë¡ 구ì±ë©ëë¤. try
ë¸ë¡ ë´ ì½ëê° ë¨¼ì ì¤íëê³ , ë§ì½ ê·¸ ììì ìì¸ê° ë°ìíë¤ë©´ catch
ë¸ë¡ ë´ ì½ëê° ì¤íë©ëë¤. finally
ë¸ë¡ ë´ ì½ëë íì ì¤íëë©°, ì ì´ íë¦ì´ ì ì²´ 구문ì ì¢
ë£í기 ì ì ì¤íë©ëë¤.
try {
nonExistentFunction();
} catch (error) {
console.error(error);
// Expected output: ReferenceError: nonExistentFunction is not defined
// (Note: the exact output may be browser-dependent)
}
문ë²
try {
tryStatements
} catch (exceptionVar) {
catchStatements
} finally {
finallyStatements
}
tryStatements
try
ë¸ë¡ìì ì¤íë 구문ë¤ì
ëë¤.
catchStatements
try
ë¸ë¡ìì ìì¸ê° ë°ìíì ë ì¤íë 구문ë¤ì
ëë¤.
exceptionVar
Optional
í´ë¹ catch
ë¸ë¡ìì ì¡í ìì¸ë¥¼ ë´ë ì íì ìë³ì í¹ì í¨í´ì
ëë¤. ë§ì½ catch
ë¸ë¡ìì ìì¸ ê°ì ì¬ì©íì§ ìë ê²½ì° exceptionVar
ê³¼ ê´í¸ë¥¼ ìëµí ì ììµëë¤.
finallyStatements
try...catch...finally
구문ìì ì ì´ íë¦ì´ ë¹ ì ¸ëê°ê¸° ì ì ì¤íëë 구문ë¤ì
ëë¤. ìì¸ê° ë°ìíëì§ ì¬ë¶ì ê´ê³ìì´ íì ì¤íë©ëë¤.
try
문ì íì try
ë¸ë¡ì¼ë¡ ììí©ëë¤. ê·¸ë¦¬ê³ catch
ë¸ë¡ ëë finally
ë¸ë¡ ì¤ íëê° ë°ëì ì¡´ì¬í´ì¼ í©ëë¤. catch
ë¸ë¡ê³¼ finally
ë¸ë¡ì 모ë ê°ì§ ìë ììµëë¤. ì´ë ê² í´ì try
문ìë ë¤ìê³¼ ê°ì ì¸ ê°ì§ ííê° ììµëë¤.
try...catch
try...finally
try...catch...finally
ë¤ë¥¸ êµ¬ì¡°ì¸ if
ë for
ì ë¬ë¦¬, try
, catch
, finally
ë¸ë¡ì ë°ëì ë¨ì¼ êµ¬ë¬¸ì´ ìë ì¤ê´í¸ {} ë¡ ê°ì¸ì§ ë¸ë¡ì´ì´ì¼ í©ëë¤.
try doSomething(); // SyntaxError
catch (e) console.log(e);
catch
ë¸ë¡ìë try
ë¸ë¡ìì ìì¸ê° ë°ìíì ë ì´ë»ê² ì²ë¦¬í ì§ì ëí 구문ë¤ì´ í¬í¨ë©ëë¤. ë§ì½ try
ë¸ë¡ ë´ì ì´ë¤ 구문(ëë try
ë¸ë¡ ë´ìì í¸ì¶ë í¨ì)ìì ìì¸ê° ë°ìíë©´, ì ì´ íë¦ì´ ì¦ì catch
ë¸ë¡ì¼ë¡ ì íë©ëë¤. try
ë¸ë¡ìì ìì¸ê° ë°ìíì§ ìì¼ë©´ catch
ë¸ë¡ì ì¤íëì§ ììµëë¤.
finally
ë¸ë¡ì try...catch...finally
구문ìì ì ì´ íë¦ì´ ë¹ ì ¸ëê°ê¸° ì ì íì ì¤íë©ëë¤. ì¦ ìì¸ê° ë°ìíëì§ ì¬ë¶ì ê´ê³ìì´, finally
ë¸ë¡ì íì ì¤íë©ëë¤.
íë ì´ìì try
문ì ì¤ì²©í´ì ì¬ì©í ì ììµëë¤. ë´ë¶ try
문ì catch
ë¸ë¡ì´ ìë ê²½ì°, ì¸ë¶ try
문ì catch
ë¸ë¡ì´ ëì ì¬ì©ë©ëë¤. ì¦, ì¦, ì¤ì²©ë try
문 ë´ìì ìì¸ê° ë°ìíë©´, ê°ì¥ ê°ê¹ì´ ìì catch
ë¸ë¡ì´ í´ë¹ ìì¸ë¥¼ ì²ë¦¬íê² ë©ëë¤.
ëí, try
문ì ì¬ì©íì¬ JavaScript ìì¸ë¥¼ ì²ë¦¬í ì ììµëë¤. JavaScript ìì¸ ì²ë¦¬ì ëí ìì¸í ì ë³´ë JavaScript ìë´ì를 ì°¸ê³ íìë©´ ë©ëë¤.
try
ë¸ë¡ìì ìì¸ê° ë°ìíë©´, exceptionVar
(ì¦, catch (e)
ììì e
)ì ìì¸ ê°ì´ ì ì¥ë©ëë¤. ì´ bindingì ì´ì©í´ ë°ìí ìì¸ì ëí ì 보를 ì»ì ì ììµëë¤. ì´ bindingì catch
ë¸ë¡ì scope ë´ììë§ ì¬ì©í ì ììµëë¤.
exceptionVar
ë ë°ëì ë¨ì¼ ìë³ìì¼ íìê° ììµëë¤. 구조 ë¶í´ í ë¹ì ì¬ì©íì¬ ì¬ë¬ ê°ì ìë³ì를 í ë²ì í ë¹í ì ììµëë¤.
try {
throw new TypeError("oops");
} catch ({ name, message }) {
console.log(name); // "TypeError"
console.log(message); // "oops"
}
catch
ì ì ìí´ ìì±ë ë°ì¸ë©ì catch
ë¸ë¡ê³¼ ëì¼í ë²ìì ì¡´ì¬í©ëë¤. ë°ë¼ì catch ë¸ë¡ ë´ìì ì ì¸ë ë³ìë catch
ì ì ìí´ ìì±ë ë°ì¸ë©ê³¼ ëì¼í ì´ë¦ì ê°ì§ ì ììµëë¤. (ì´ ê·ì¹ì íê°ì§ ìì¸ê° ìì§ë§, ì´ë ë ì´ì ì¬ì©ëì§ ìë 문ë²ì
ëë¤.)
try {
throw new TypeError("oops");
} catch ({ name, message }) {
var name; // SyntaxError: Identifier 'name' has already been declared
let message; // SyntaxError: Identifier 'message' has already been declared
}
ìì¸ ë°ì¸ë©ì ì°ê¸° ê°ë¥í©ëë¤. ì를 ë¤ì´, ìì¸ ê°ì ì ê·ííì¬ Error
ê°ì²´ì¸ì§ íì¸í ì ììµëë¤.
try {
throw "Oops; this is not an Error object";
} catch (e) {
if (!(e instanceof Error)) {
e = new Error(e);
}
console.error(e.message);
}
ìì¸ ê°ì´ íì ìë ê²½ì°ìë ê´í¸ì í¨ê» ìì¸ ë³ì ì체를 ìëµí ì ììµëë¤.
function isValidJSON(text) {
try {
JSON.parse(text);
return true;
} catch {
return false;
}
}
finally ë¸ë¡
finally
ë¸ë¡ì try
ë¸ë¡ê³¼ catch
ë¸ë¡(ë¤)ì´ ì¤íë íì ì¤íí 구문ë¤ì í¬í¨íì§ë§, try...catch...finally
ë¸ë¡ ë¤ìì 구문ë¤ë³´ë¤ 먼ì ì¤íë©ëë¤. ì ì´ íë¦ì íì finally
ë¸ë¡ì¼ë¡ ì§ì
íë©°, ë¤ìê³¼ ê°ì ë°©ì ì¤ íëë¡ ì§íë ì ììµëë¤.
try
ë¸ë¡ì´ ì ìì ì¼ë¡ ì¤íì ë§ì¹ê³ (ìì¸ê° ë°ìíì§ ìì ê²½ì°)catch
ë¸ë¡ì´ ì ìì ì¼ë¡ ì¤íì ë§ì¹ê³ try
ë¸ë¡ì´ë catch
ë¸ë¡ìì ì ì´ íë¦ êµ¬ë¬¸(return
, throw
, break
, continue
)ì´ ì¤íëì´ í´ë¹ ë¸ë¡ì ë²ì´ë기 ì§ì ììì¸ë¥¼ ì²ë¦¬í catch
ë¸ë¡ì´ ìëë¼ë try
ë¸ë¡ìì ìì¸ê° ë°ìíë¤ë©´ finally
ë¸ë¡ì ì¤íë©ëë¤. ì´ë¬í ê²½ì° finally
ë¸ë¡ì´ ì¤íì ë§ì¹ ì§í í´ë¹ ìì¸ê° ë¤ì ëì ¸ì§ëë¤.
ë¤ì ìì ë finally ë¸ë¡ì í ê°ì§ ì¬ì© ì¬ë¡ë¥¼ ë³´ì¬ì¤ëë¤. ì´ ì½ëë íì¼ì ì´ê³ ê·¸ íì¼ì ì¬ì©íë 구문ë¤ì ì¤íí©ëë¤. ê·¸ë¦¬ê³ finally
ë¸ë¡ì ìì¸ê° ë°ìíëë¼ë íì¼ì´ íì ë«íëë¡ ë³´ì¥í©ëë¤.
openMyFile();
try {
// tie up a resource
writeMyFile(theData);
} finally {
closeMyFile(); // always close the resource
}
finally
ë¸ë¡ ë´ì ì ì´ íë¦ êµ¬ë¬¸(return
, throw
, break
, continue
)ì try
ë¸ë¡ì´ë catch
ë¸ë¡ì ìë£ ê°ì "ê°ë¦½ëë¤". ìë ìììì, try
ë¸ë¡ìì 1ì ë°ííë ¤ê³ íì§ë§, ë°íí기 ì ì ì ì´ íë¦ì´ finally
ë¸ë¡ì 먼ì ì ë¬ëì´ finally
ë¸ë¡ì ë°í ê°(2)ì´ ëì ë°íë©ëë¤.
function doIt() {
try {
return 1;
} finally {
return 2;
}
}
doIt(); // returns 2
finally
ë¸ë¡ ë´ì ì ì´ íë¦ êµ¬ë¬¸ì ì¬ì©íë ê²ì ì¼ë°ì ì¼ë¡ ì¢ì§ ìì ìê°ì
ëë¤. finally
ë¸ë¡ì ì¤ì§ ì 리 ìì
ì ìí ì½ëìë§ ì¬ì©í´ì¼ í©ëë¤.
catch
ë¸ë¡ì ì¬ì©íë©´ try
ë¸ë¡ ë´ìì ì´ë¤ ìì¸ê° ë°ìíë catch
ë¸ë¡ì´ ì¤íë©ëë¤. ì를 ë¤ì´, ë¤ì ì½ëìì ìì¸ê° ë°ìíë©´ ì ì´ íë¦ì´ catch
ë¸ë¡ì¼ë¡ ì ë¬ë©ëë¤.
try {
throw "myException"; // generates an exception
} catch (e) {
// statements to handle any exceptions
logMyErrors(e); // pass exception object to error handler
}
catch
ë¸ë¡ììë ìë³ì(e
ì ê°ì)를 ì§ì íì¬ ìì¸ ê°ì²´ì ê°ì 캡ì²í ì ììµëë¤. ì´ ìë³ìê° ì°¸ì¡°íë ìì¸ ê°ì²´ì ê°ì catch
ë¸ë¡ì ë²ì ë´ììë§ ì¬ì©í ì ììµëë¤.
ì¬ë¬ ê°ì try...catch
ë¸ë¡ê³¼ if...else if...else
구문ì ì¡°í©íë©´ "ì¡°ê±´ë¶ catch
ë¸ë¡"ì ë§ë¤ ì ììµëë¤. ì를 ë¤ì´, ë¤ìê³¼ ê°ì ì½ë를 ìì±í ì ììµëë¤.
try {
myroutine(); // may throw three types of exceptions
} catch (e) {
if (e instanceof TypeError) {
// statements to handle TypeError exceptions
} else if (e instanceof RangeError) {
// statements to handle RangeError exceptions
} else if (e instanceof EvalError) {
// statements to handle EvalError exceptions
} else {
// statements to handle any unspecified exceptions
logMyErrors(e); // pass exception object to error handler
}
}
ì¡°ê±´ë¶ catch
ë¸ë¡ì ì¼ë°ì ì¸ ì¬ì© ì¬ë¡ë ììëë ì¼ë¶ ì¤ë¥ë§ í¬ì°©íê³ ìµì í í, ë¤ë¥¸ ê²½ì°ìë ì¤ë¥ë¥¼ ë¤ì ëì§ë ê²ì
ëë¤.
try {
myRoutine();
} catch (e) {
if (e instanceof RangeError) {
// statements to handle this very common expected error
} else {
throw e; // re-throw the error unchanged
}
}
ì´ê²ì Javaì ê°ì ë¤ë¥¸ íë¡ê·¸ëë° ì¸ì´ì ì ì¬í íí를 ì·¨í ì ììµëë¤.
try {
myRoutine();
} catch (RangeError e) {
// statements to handle this very common expected error
}
// Other errors are implicitly re-thrown
ì¤ì²© try ë¸ë¡
먼ì , ë¤ìê³¼ ê°ì ì½ëê° ì´ë»ê² ëëì§ ì´í´ë³´ê² ìµëë¤.
try {
try {
throw new Error("oops");
} finally {
console.log("finally");
}
} catch (ex) {
console.error("outer", ex.message);
}
// Logs:
// "finally"
// "outer" "oops"
ì´ì catch
ë¸ë¡ì ì¶ê°íì¬ ë´ë¶ try
ë¸ë¡ìì ì´ë¯¸ ìì¸ë¥¼ í¬ì°©íë¤ë©´:
try {
try {
throw new Error("oops");
} catch (ex) {
console.error("inner", ex.message);
} finally {
console.log("finally");
}
} catch (ex) {
console.error("outer", ex.message);
}
// Logs:
// "inner" "oops"
// "finally"
ì´ì ì¤ë¥ë¥¼ ë¤ì ë°ììí¤ê² ìµëë¤.
try {
try {
throw new Error("oops");
} catch (ex) {
console.error("inner", ex.message);
throw ex;
} finally {
console.log("finally");
}
} catch (ex) {
console.error("outer", ex.message);
}
// Logs:
// "inner" "oops"
// "finally"
// "outer" "oops"
ìì¸ë ê°ì¥ ê°ê¹ì´ catch
ë¸ë¡ìì í ë²ë§ ì¡íê² ëë©°, ë¤ì ëì ¸ì§ì§ ìë í ì¸ë¶ catch
ë¸ë¡ììë ì¡íì§ ììµëë¤. ë¬¼ë¡ "ë´ë¶" ë¸ë¡(ì¦, catch
ë¸ë¡ ë´ë¶)ìì ìë¡ì´ ìì¸ê° ë°ìíë¤ë©´, "ì¸ë¶" ë¸ë¡ìì í´ë¹ ìì¸ë¥¼ ì¡ì ì ììµëë¤.
ë§ì½ finally
ë¸ë¡ìì ê°ì ë°ííë©´, í´ë¹ ê°ì´ ì ì²´ try-catch-finally
문ì ë°í ê°ì´ ë©ëë¤. ì´ë try
ë¸ë¡ì´ë catch
ë¸ë¡ ë´ì ìë return
문ì ê´ê³ìì´ ì ì©ë©ëë¤. ì´ë catch
ë¸ë¡ ë´ìì ë°ìí ìì¸ìë í¬í¨í©ëë¤.
(() => {
try {
try {
throw new Error("oops");
} catch (ex) {
console.error("inner", ex.message);
throw ex;
} finally {
console.log("finally");
return;
}
} catch (ex) {
console.error("outer", ex.message);
}
})();
// Logs:
// "inner" "oops"
// "finally"
finally
ë¸ë¡ìì ê°ì ë°íí기 ë문ì (ì´ë ì ì²´ try-catch-finally
문ì ë°í ê°) ì¸ë¶ë¡ "oops"ë ì íëì§ ììµëë¤. ì´ë catch
ë¸ë¡ìì ë°íë ì´ë¤ ê°ìë ëì¼íê² ì ì©ë©ëë¤.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4