什么是 Deno?
Deno 是一种新型的运行时,用于 JavaScript 和 TypeScript。它在很多方面类似于 Node.js,但也有一些不同之处。
Deno 是执行 V8 引擎和 Rust 代码的环境,它是一个独立的运行时,没有依赖于 Node.js。这意味着您可以使用 Deno 运行您的 JavaScript 代码,而不必依赖于 Node.js。Deno 也具有一些其他特性,例如内置的模块、脚本安全性和 TypeScript 集成。
Deno 内部错误
当 Deno 代码执行时,可能会引发任何数量的错误。这些错误可能与 JavaScript 代码存在的错误完全相同,也可能只适用于 Deno。
如果发生错误,Deno 会记录错误并停止运行代码。这确保了您可以看到发生的错误,但也会中断您的应用程序。
要处理内部错误,您需要使用 Deno 的错误处理机制。
如何处理 Deno 内部错误
Deno 提供的错误处理机制
Deno 在顶层提供了一个全局的错误处理器,它捕获和处理所有未经捕获的错误。默认情况下,当错误未经处理时,Deno 会记录错误消息并停止执行代码。
你可以使用 Deno.exit()
函数退出应用程序:
try { // your code here } catch (e) { console.error(e) Deno.exit(1) }
异步错误的处理方式
对于异步代码,可以使用 await
关键字和 try/catch
语句来处理错误。Deno 使用 await
时,可以使用 try/catch
语句中的相同方法捕获这些错误。
例如,以下的代码片段展示了如何使用 await
和 try/catch
处理异步错误:
try { const response = await fetch("https://jsonplaceholder.typicode.com/todos/1") const data = await response.json() } catch (e) { console.error(e) }
如何处理运行时错误
当运行时错误发生时,您需要捕获全局未经处理的异常。您可以使用以下代码来设置全局未经处理的异常处理程序:
Deno.setUncaughtExceptionListener((err: Error) => { console.error(err) Deno.exit(1) })
在上面的代码中,Deno.setUncaughtExceptionListener()
函数允许您设置未经处理的异常处理程序。
接下来,您可以在设置函数内部设置函数体。
参考资料
总结:
Deno 作为一种新兴的后端技术,错误处理是必不可少的技能。通过本文中的介绍,你应该已经了解到了如何处理 Deno 中的运行时错误以及异步错误。
常规的处理错误的方式我们可以借鉴 Node.js 的经验,同时根据 Deno 的特性进行针对性的代码处理。
阅读官方和中文文档可以让我们更深入地学习和使用 Deno,不仅自己可以加深对于 Deno 的理解,也能在向他人推荐时更有手感。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64f7f615f6b2d6eab302770b