일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 데이터베이스
- C++
- 회고
- 시나공
- 공부일지
- 백준
- 1과목
- kotlin
- java
- 파이썬
- 프로그래머스
- 코틀린
- 정보처리산업기사
- 코딩교육봉사
- BFS
- SQL
- 소프티어
- 스프링
- 코딩봉사
- 알고리즘
- MYSQL
- 백준알고리즘
- 문제풀이
- 자바
- CJ UNIT
- python
- SW봉사
- softeer
- programmers
- 백준 알고리즘
Archives
- Today
- Total
JIE0025
[Error] 처리되지 않은 예외 발생(0x75EEA6E2, Project.exe): Microsoft C++ 예외: char, 메모리 위치 0x0053F710. 본문
기타 학습/Error
[Error] 처리되지 않은 예외 발생(0x75EEA6E2, Project.exe): Microsoft C++ 예외: char, 메모리 위치 0x0053F710.
sdoaolo 2021. 6. 1. 17:16728x90
visual studio에서 try-catch 관련 코드를 빌드했는데 다음과 같은 에러가 나왔다.
처리되지 않은 예외 발생(0x75EEA6E2, Project.exe): Microsoft C++ 예외: char, 메모리 위치 0x0053F710.
<에러난 코드>
#include <iostream>
using namespace std;
void func(int n){
try{
if(n >0)
throw "positive";
else if(n == 0)
throw "zero";
else
throw "negative";
}
catch (char * s){
cout << s << endl;
}
}
int main(){
func(5);
func(0);
func(-5);
cout << endl;
getchar();
return 0;
}
알아본 결과,
throw를 하는 값은 문자열 리터럴이고, catch하는 값은 <std::string> 형식이기 떄문에 발생한 문제이다.
<std::string>은 문자열 리터럴에서 구성될 수는 있지만, catch절에서 허용되지 않는다.
해결방법
catch 하는 값 형식에 const를 추가한다.
catch (const char * s){ } |
'기타 학습 > Error' 카테고리의 다른 글
[AWS] sudo apt update 에러 (AWS linux) (0) | 2023.06.19 |
---|---|
IntelliJ 프로젝트 디렉터리 안보일 때 해결 (Mac M1) (0) | 2023.06.18 |
[vue] vue create 시 yarn 에러 (Error: command failed: yarn ) (0) | 2022.04.15 |
Docker 도커 에러 Using default tag latest error during connect (3) | 2021.04.09 |