簡體   English   中英

啟動expressjs服務器時如何拋出錯誤?

[英]How can I throw an error when starting an expressjs server?

這是我的最小代碼示例:

...

const url = typeof process.env.url === 'string' ? process.env.url : {do not start a server}
...
server.start(options, ({ port }) => console.log(`Server is running on http://localhost:${port}`));

如果未設置process.env.url如何拋出錯誤(或僅打印出一些內容)並避免啟動服務器(請參見代碼示例)。

您可以簡單地拋出錯誤並退出過程:

function notValid() {
  throw new Error('The passed url is not valid!');
  process.exit()
}

const url = typeof process.env.url === 'string' ? process.env.url : notValid();

server.start(options, ({ port }) => console.log(`Server is running on http://localhost:${port}`));
const url = typeof process.env.url === 'string' ? process.env.url : new Error("Error Message")
if(url instanceof Error) {
  throw url;
}
server.start(options, ({ port }) => console.log(`Server is running on http://localhost:${port}`));

您可以將“ Error Message更改為所需的任何消息,這將破壞服務器(拋出錯誤)

沒有錯誤

const url = typeof process.env.url === 'string' ? process.env.url : null
if(!url) {
   process.exit(0);
}
server.start(options, ({ port }) => console.log(`Server is running on http://localhost:${port}`));

一個簡單的if條件就足夠了:

const url = process.env.url || false
if(!url) {
   console.log('error..'); 
   process.exit(0)
}

...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM