Repository: jesseduffield/lazygit (language: go)

Issue:
crash when cwd doesnt exist
**Describe the bug**

when cwd doesn't exist the program crashes

```
2023/12/30 17:21:46 An error occurred! Please create an issue at: https://github.com/jesseduffield/lazygit/issues

*os.SyscallError getwd: no such file or directory
github.com/jesseduffield/lazygit/pkg/app/app.go:55 (0x55fe48a02610)
github.com/jesseduffield/lazygit/pkg/app/entry_point.go:150 (0x55fe48a046ea)
github.com/jesseduffield/lazygit/main.go:23 (0x55fe48a05e78)
runtime/internal/atomic/types.go:194 (0x55fe4835feb2)
runtime/asm_amd64.s:1650 (0x55fe48390121)
```

**To Reproduce**
Steps to reproduce the behavior:

```sh
mkdir test
cd test
rm -r ../test
lazygit
```

**Expected behavior**

program should exit gracefully with an error

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Version info:**

`commit=v0.40.2, build date=2023-08-12T17:47:33Z, build source=binaryRelease, version=0.40.2, os=linux, arch=amd64, git version=2.43.0`

`git version 2.43.0`


Discussion / hints:

Fix patch:
diff --git a/pkg/app/errors.go b/pkg/app/errors.go
index 2561fccb8ef..02e9470e0c6 100644
--- a/pkg/app/errors.go
+++ b/pkg/app/errors.go
@@ -27,6 +27,10 @@ func knownError(tr *i18n.TranslationSet, err error) (string, bool) {
 			originalError: "fatal: not a git repository",
 			newError:      tr.NotARepository,
 		},
+		{
+			originalError: "getwd: no such file or directory",
+			newError:      tr.WorkingDirectoryDoesNotExist,
+		},
 	}
 
 	if mapping, ok := lo.Find(mappings, func(mapping errorMapping) bool {
diff --git a/pkg/i18n/english.go b/pkg/i18n/english.go
index 80e89ceff0b..b9ccc95dc7b 100644
--- a/pkg/i18n/english.go
+++ b/pkg/i18n/english.go
@@ -335,6 +335,7 @@ type TranslationSet struct {
 	StashIncludeUntrackedChanges        string
 	StashOptions                        string
 	NotARepository                      string
+	WorkingDirectoryDoesNotExist        string
 	Jump                                string
 	ScrollLeftRight                     string
 	ScrollLeft                          string
@@ -1153,6 +1154,7 @@ func EnglishTranslationSet() TranslationSet {
 		StashIncludeUntrackedChanges:        "Stash all changes including untracked files",
 		StashOptions:                        "Stash options",
 		NotARepository:                      "Error: must be run inside a git repository",
+		WorkingDirectoryDoesNotExist:        "Error: the current working directory does not exist",
 		Jump:                                "Jump to panel",
 		ScrollLeftRight:                     "Scroll left/right",
 		ScrollLeft:                          "Scroll left",


Test patch: